NflM
The Magazine For Apple III Owners and Users
III III III III III III III III III III III III III III III III III III
Volume 3 - Number 4
April 1986
$4.00
• Installing
the Xebec
9730
• On Pascal ///
• Piracy m
> Graphics
Bnsic
Internals:
n Look inside
and more
= Increased Productivity With a l\/lore Powerful SMK Apple///!
ON THREE'S 51 2K Memory Upgrade is the
Single nHost Exciting Enliancement to tlie Apple ///Ever!
Specially priced at just
for a limited time only
$399
Look forward in 1986 to more file capacity for your
applications programs like VisiCalc (regular and advanced
versions), /// E-Z Pieces, Selector ///, Business Basic, and
others. Imagine having 450K to work with on a spreadsheet
model or data base with a 512K Apple ///. Think of the
forecasts you could create. Or how would you be able to
type PRINT FRE from Business Basic and see 467542 print
out on your screen. Wow! The most powerful BASIC
around.
The ON THREE 512K Memory Upgrade is simple to
install by following the directions in the installation manual.
Even better, it does not use any of your precious expansion
slots and works with all SOS programs. If you ever run out of
memory once you have your 512K upgrade in place, you
may need a minicomputer!
Another problem the ON THREE 5 12K Memory Upgrade
can solve is when you are running a hard disk with Selector///
or Catalyst. Certain programs take up a lot of memory and
sometimes there is not enough to go around. And if you think
the hard disk is fast, wait till you try the RAMDisk that comes
free with the 512K upgrade. It'll amaze you with its speed. If
you were used to making notes, etc. while your drive was
working, you can forget it.
You see, with the limitations of a 256K system, programs
like Selector /// and Catalyst, in conjunction with special
purpose utilities like ONTIME or the Calendar Pak will run
on only minimal Selector or Catalyst systems. This means no
spooling and a lot of dynamic driver loading. Who needs
problems like this? Now you can run, for example. Draw ON
with Catalyst and see your pictures being printed on the
printer while you have already started word processing with
AppleWriter /// or Word Juggler.
Read the checklist in the box below to see all the freebies
that come with the ON THREE 512K Memory Upgrade.
* The full purchase price is $449 plus $10 shipping
and handling. (And plus 6% Calif, sales tax for
residents.) After installing the ON THREE 51 2K Memory
Upgrade, you can return your old 256K board to us for a
$50 rebate.
If you have an older 128K machine, the cost is a flat
$449 (plus shipping) and no rebate. Installation must be
performed by ON THREE or a dealer.
ON THREE also will install any upgrade for you at just
$50. We offer same day turnaround on 256 to 51 2K
upgrades. Call for more information.
The 51 2K Memory Upgrade is the single most exciting
thing to happen to the Apple /// in a long, long time.
Using state-of-the-art 256K memory chips, the board is
very simple to install and even easier to use. The 512K
Memory Upgrade will NOT take up an expansion slot as
it is a simple board swap-out. Just keep on using your
existing programs— you don't have to change them!
VisiCalc, Advanced VisiCalc, /// E-Z Pieces, Apple
Writer, Business Basic, Pascal, Catalyst, Selector ///
and many other programs will automatically have about
450K of memory to work with.
Look!
At no extra charge, ON THREE'S 51 2K Memory Upgrade includes:
t^ Complete 24-page instruction manual.
1^ Ultra-fast RAMDisk Drive with demonstration programs.
1^ The Upgrade to 51 2K Utility disk. . .
updates all your disks to work with the expanded mennory and
the Updated yers\on (1 .2) of the System Utilities progrann that pernnits larger
SOS DRIVER files.
1^ A copy of the Confidence Memory Program . . .
tests all memory and ensures your 512K Memory board is working
correctly.
1^ ON THREE'S full 90-day warranty.
• and of course, an Apple /// 51 2K memory board with sfafe-
of-the-art 256K memory chips.
ON THREE (805) 644-3514
P.O. Box 3825, Ventura, CA 93006
Calif, residents add 6 % sales tax (products only) We accept Visa, Mastercard, Annerican Express''"
t3% surcharge on American Express orders
Publisher.
Bob Consorti
Editon
Vol J. Golding
Comptroller.
Joseph Consorti
Logistics:
Janet Schanz
Interior Art:
Virginia Carol
Technical Support:
Rob Turner
Order Dept.:
(805) 644-3514
Typography:
West CoGst Typography
Von Nuys, CA
Pnnting:
0|0i Printing & Publishing
0|ai, CA
ON MEE^-fhe Reference Source hr k Apple is published mortfi^ by ON
MEE, 4478 Market Street Suite 70', Venture, CA 93003. ^P.O. Box 3825 Venture,
CA 93006;
For c copy of cutfior guidelines, send c stcnped, self- addressed envelope to tfie
above address. Current page rate- $25 per printed pcge.
Return postage must cccompcny ell manuscript^., diskettes end drewrgs submitted i*
itiey ere to be re*urnec. Al manuscripts longer tficn 500 words or program listings
bnger tficn one halt page must be accompanied by c disicette i itiey ere to be
considered. No ^esponsibill^' can be essumed (or unsolicited metericls.
All letters received by ON JHKEE unless specificelly morl(ed to ifie contran/, will be
considered cs unconditionolly essigned for publication and are subject 'o ON
MEE's right Ic edit and conmen' editonclly. Your full address will be published onk
when specifically requested.
Subscription information:
U.S.: $40 for '2 issues.
For First Class sen/ice, remit on extra $'2
horeign subscription information;
Cenode, Mexico APO, FPO $20 additonal. $60 totcl.
So America, Europe: $24 additional $64 total.
Ffcc Isbnds Asia, Australia, Mideast: $29 additmd $69 total.
Beck Issues:
Available c* $5 each. Please indicate issues desired on the enclosed order
Postage for ON ^EE product:
U.S.: listed on enclosed product price sheet.
Canada and Mexico- double listed US prices.
Outside North America; triple listecj US prices.
All funds mus' be remitted ir US Dollars drawn on a U.S. bank or 'ijnds in your
native currency ct the current exchange rate drawn, on c bank in your
countr/.
Group purchases must have one common mailing address. Please contact ON
THUEE at the above address for information on current volume pricing and
terms.
ON THPEE B a registered trademark of ON MEE. Apple, Apple I Apple :; plus,
Apple ■''', Apple ■''' plus, Applesoft, Apple Business Basic, Disk ', Disk ''', UniDisk,
Use, lisaDrcw, Macrtosh, MacRaint, MacWrite end ProFile are registered trodemarks
of Apple Computer, Inc. Micro-Sci end Gameport "' are registered trademarks of
Stondum Controls, Inc. Selector '// is o registered trademark of Sabre Soft\^'are, Inc.
ON THREE O'clock, La:crus ///, Draw On and ONTJME are registered trademarks
of ON MEE. the Apple ''/-' magazine.
Opinons expressed in this magazine are those of indtviduais authors and staff and
not necessarily those of ON JHREE
Entire contents copyright '«--i986 by ON JHKEE. All rights resen/ed.
/// /// /// /// /// /// /// /// /// /// ///
Volume 3, No. A
Table of Con^ent:s
April. 1SBB
FEATURES
A Look tnside:
The Command Line:
Business Basic Internals
5
ON Pascal /// 15
Parti
Dennis Cohen
part 1 of the most comprehensive
if you have put off investigating pascal,
exploration of what makes business
here is the perfect opportunity to start
basic tick, including never before
from scratch
revealed pointers
Technical Tips:
Graphics:
Installing the Xebec 9730 19
Easter Egg
13
John R. Sollnnan
Gary Crum/lan Barland
an apparently formidable task made
this simple basic program creates
simple with these easy step~by-step
scads of random easter egg designs-
™
instructions
just in time for the season
Coping With Device Dependent Error 34:
FBI Apprehends Subject:
Taming Timing 29
Piracy Doesn't Pay
14
Dan Martin
this release points out, to the tune o1
if you've received sos error $34, your
250 grand, pitfalls that lurk for
drive timing may be off. here's a quick
profiteering pirates
step-by-step fix
OEPARTMEIMTS
The Editor Dishes it Out:
Reading the Mail:
Apple.Sauce
3
Three Questions 29
ValJ. Golding
most readers turn to this page first,
plentiful platitutdes pursuant to
looking for solutions to problems
perusmg program prose
For April:
Notes from the Publisher:
New Products 31
BlQck.Write
4
once a year about this time, a
Bob Consorti
startling new chip comes out this
your friend and mine, our esteemed
year is no exception, and we offer
publisher, opens avenues of thought
insightful insights
for future on three products
into its innards
ON THREE Price List
12
Call Three: Hot Line 32
updated to reflect our newest product
if it's not in print, try one our
prices
experts
De Classifieds
21
Apple /// User Groups 32
a buy/sell market designed to meet
newly updated, there are many
your needs, with special subscriber
groups around the country offering
rates
their help and expertise
ON: The Cover
This month our cover highlights the first of a two-part paper on Business Basic
internals, perhaps one of the most significant Apple /y articles to appear in print.
Shown in detail is ON THREE'S 512K Memory Upgrade, along with the many other
internal components.
Captured in its pristine nakedness, the Apple /// was photographed by David
Ojerholm. H S O Studios, B1 4 E. Main St., Ventura, CA 33GG1
ON THREE April, 1 SSB
Smart users select the
Selector ///
The smart Program Switching utility
from ON THREE
• Switch to Selector /// now
• Ideal for UniDisk or hard disk systems
• Compatible with more than two dozen
major Apple /// applications
• AppleWriter ///
• Business Basic
• Haba Merge
• VisiCalc
• /// E Z Pieces
. . . and more ^ M M plus $7 s/h
Selector/// is a state-of-the art program switcher.
A program switclier is a utility tliat functions as your computer-
ized personal secretary. Its purpose is to make instantly available
to you, \A/ithout rebooting, a wide range of applications programs
stored on your hard disk or high capacity floppy (such as UniDisk).
Programs such as AppleWriter///, Quick File ///and more than
two dozen others.
Each time you require a different application, just tell your
personal secretary. Selector ///, with a couple of keystrokes,
and it will be there in seconds. IMo need to find your way through
sub-directories or paw through a stack of floppies.
When you start your system up in the morning, just boot
Selector/// and that's it for the day. Smart users are switching to
and with Selector/// now.
Selector /// works with all of these programs:
•^ Access ///
>^ Business Basic
•^ Multiplan
>^ Access 3270
>^ Business Graphics
•^ Nexus
•> Advanced VisiCalc
«^ Cobol
» PFS: File *
•^ Apple 11 Emulation
t^ Draw ON ///
«^ PFS: Graph *
•^ AppleFlle ///
•^ Easyterm
>^ PFS: Report *
•^ Apple Speller///
•^ Graph'n Calc
«^ Quick File ///
•^ Apple /// Pascal
t^ Haba Merge
«^ Script///
•^ AppleWriter ///
>^ Keystroke Data Base *
»^ Senior Analyst ///
>^ Backup ///
•^ Keystroke Report
"^ VisiCalc ///
» BPI
Generator *
»^ Lazarus ///
•^ /// E-Z Pieces
*lndicates boot disk required in Internal drive.
Selector/// $99st'n^
ippmg & handling
ON THREE (805| 644-3514
P.O. Box 3825
Ventura, CA 93006
Send me .
Name
. Selector Ills
Address .
City
State .
-Zip.
. Phone .
D enclosed $ .
D M/C D Visa D AE*
number
. exp. date .
Signature
*3% surcharge on American Express
California residents add 6% sales tax.
April. 1 9BB ON THREE
The Editor Dishes it Out:
Apple.Sauce
val j« soldins
Hard Talk
One of the advantages in working witii a connputer like the /// (and
particularly with 51 2K of nnennory) is the ease with which it interfaces
to various peripherals. All one needs is a driver and presto, your new
device is usable. Unlike the Apple ][ where far nnore consideration nnust
be given to questions of connpatibility, software, hardware, interface
card, protocols, and the like, the /// rennains alone and aloof in its
sophistication.
We are no stranger to hard disks, they have been around for nnany
nnoons. The ProFile was one of Apple's earliest, and it opened new
horizons for /// users, even with the linnited nnemory available at the tinne it
was introduced. We have used ProFiles a bit, but when we recently
installed a Sider W, along with Selector///, we were literally annazed
at the trennendous speed innprovement on file saves and loads.
What's nnore, because our work often involves writing about
software, how sinnple and painless it is, indeed, to junnp out of
AppleWriter and go to BASIC to test or list a program, then junnp back
and resunne word processing.
These are sonne of the miracles' we are leaming about with the Apple
///. And so. in a sense, this is what ON THREE is all about, to exchange
information, acquaint you with new products— and surprisingly there
seem to be more coming out now than at any other recent time— both
those of ON THREE and of other producers. But topmost on our priority
list is providing the material you want to read. There is, as we have
mentioned a number of times before, a need for more articles, programs
and hints. Our page rate is $25 per page (not as reported previously) and
not only will you see your name in print, but you can bask in the
knowledge that you have helped others by sharing. You should not be
overly concerned with your writing skills, smoothing out text is one of
the functions of an editor. The important thing is sharing your
knowledge with others.
In many ways ON THREE operates as a gigantic user group. In this
regard, we would like to suggest you read Bob Consorti's Block^_Write
on page 4. Ther^ you'll note Bob is asking for your specific suggestions as to
new products you would like to see developed by ON THREE. Where else
could you find a manufacturer and a magazine as responsive to customer/
reader input as is ON THREE. And for those of you who have been with
us for a while, your subscription may be coming up for renewal soon.
Certainly, you don't want to miss out on any of our forthcoming
products or articles. There is information on this subject and descrip-
tions of many of our new products elsewhere in this issue.
A Real Look Inside
Sometimes it is difficult to pack all the material you want into a
single issue. Such is the case this time around. Recently we glommed
onto a stack of deep technical material on Business Basic Internals, the
first part of which appears on page 5. This article offers information on
writing Invokable Modules, etc.. and provides never before published
information on zero-page pointers and Dispatch routines. If you can't
wait the necessary 30 days for the concluding part, here's what we will
do: Remit a modest sen/ice charge of $5 to cover photocopying and
mailing, and we'll ship out a copy of the complete article. Deal?
ON THREE has recently released a line of 1 0-, 20-, and 34-MegaByte
hard disk drives, and while they are relatively simple to install, John R.
Sollnnan has written a step-by-step tutorial on Installing the Xebec
9730 to make things even easier. If you are considering any of the three
drives (installation techniques are similar), then John's words are
required reading.
While we're on the subject of disk drives, if you've been getting Device
Dependent Error ^34 lately, perhaps you should look into Dan
Martin's Tanning Timing, another step-by-stepper that shows how to
recalibrate drive speed.
Not everything is techie stuff, however, as we introduce a beginner's
series, ON Pascal ///, hosted by Dennis Cohen, no stranger to our
pages. In this opening chapter, Dennis starts at the beginning (or
considering it's Pascal, at the top) and explains the Pascal Command
Line. Future editions will lead you gently through the the layers of a
stmctured language.
As you read this, Easter will soon be with us and we have accordingly
published Easter Egg, a dazzling graphic display written in Business
Basic by Gary Crum and Ian Barland, along with a bit of Apple-Foolery
to be found on one of the back pages.
With us as always is one of our most popular departments: Three
Questions. This pass through you'll find questions and answers on
compatibility between Desktop Manager and Powerkeys, unexplained
system failures and Dvorak keycaps as well as a host of others, so dig in
and enjoy.
Coming Attractions
Coming up next month, Mel Astrahan, author of ON THREE'S
famous Draw ON /// graphics tool, continues his series Graphically
Speaking, with an extended look at graphics memory organization. Of
course we'll conclude the Business Basic Internals pair. We will also be
covering telecommunications and bulletin boards in the immediate
future. That reminds us: our own bulletin board, another free ON
THREE service, should be up and running by the time you read this. The
number is (805) 644-1055.
As we write this in late January, a technological tragedy has unfolded.
We would like to devote the balance of this space to the memory of
seven brave pioneers.
In Memoriutn
Gregory Jarvis
Christia McAuliffe
Ronald McNair
Ellison Onizuka
Judy Resnik
Dick Scobee
Michael Snnith
Challenger 51 L
January 2B, 1 9BB
Reqidescat in pace
ON THREE April, 1 3BB
Notes from the Publisher:
BlockJWrite
bob consorti
Last month I asked everyone if they would like
ON THREE to build a slot expansion box for the ///.
Because of printing schedules, I won't get a
response for at least another month. I wish there
was a quicker way of getting your input back,
but for now this forum will have to do.
ON THREE has among its resources some fine
programming and hardware talent. I firmly
believe that if our people can't build or program
it— it can't be done. We have a number of
projects going, but we would like your ideas.
What is it you would like to see for your Apple //
/? How about a faster Apple ///? More memory?
Greater compatibility with the //e, //x? A new
data base program? Home Accounting?
I'd like to have your opinions on what you
would like ON THREE to develop. At the end of
this column you'll find a small form that I'd like
you to cut out or copy and mail back to me. With
your help, we can analyze the results, and can
define just what hardware and software projects
ON THREE W\\\ undertake in 1986.
ON THREE Bulletin Board
By the time you read this, we will have finally
set up our bulletin board. For those of you with a
modem and communications software, you can
call (805) 644- 1 055 to obtain the latest Apple ///
information. Our bulletin board will have useful
hints, techniques, programs and mini-reviews.
You can even order ON THREE products
directly. If you have questions (or the answers),
you can post them for other ///users to read and
respond to.
There is no fee for this service— all you have
to do is have an Apple ///— one of the finest
computers ever built.
Subscription Renewal Time
You didn't think this time would ever come, did
you? Well, ON THREE is coming up on its 12th
issue. This means it's time for some of you to
renew your ON THREE subscription. I have faith
that with ON THREE'S recent return as a monthly
magazine, specifically for Apple /// owners and
users, almost all of our current subscribers will
want to renew. Combined with all of the other
products and services that we offer for the ///,
we are the one source of information that you
[need] to have.
Over the past couple of years ON THREE has
developed the most innovative products— all
designed to help keep your Apple /// working
for years to come. Items such as our 512K
Memory Upgrade and the Desktop Manager
were developed per your suggestions. In the
future we will also be working for you by
creating the products you ask for. Without an
ON THREE subscription, you have no 'pipeline'
to our stream of new and exciting Apple ///
products.
I won't spend any more column space on the
subject— I think you know that a subscription to
ON THREE is one of the best buys in the industry.
It ensures that you will continue receiving all the
latest information, product reviews and that your
Apple /// needs will be fulfilled.
Disk Copying
Today, it is a rare Apple dealer who even
knows what an Apple /// looks like. What
happens if your AppleWriter or VisiCalc disks go
bad? Until now, your only choice was to buy an
Apple ][ program to copy those disks. We have
developed a driver that allows the standard
Apple /// System Utilities program to copy
AppleWriter and VisiCalc (regular or Advanced
Version).
Never again will you have to worry about
damaging your original disks— you can make
copies of them! Our UNCOPYPROTECT driver
allows you to make archive copies of your own
AppleWriter or VisiCalc disks. The driver comes
on a disk including full documentation, every-
thing you need to back-up your software— all for
only $19.95 plus $2 for shipping.
The UNCOPYPROTECT driver also allows
running AppleWriter or either VisiCalc from
Selector /// without any special 'key' disk.
NOTE: The above utility is intended only for
use in making legitimate backups by the owner
of the software package. ON THREE has never
condoned, and v/ill not condone copy-
ing software for any other purpose.
Desktop Manager Modules
The first add-on module for the Desktop
Manager should be ready by the time you
receive this magazine. The Disk Utilities module
will cure any headaches you may have when
working with your ///. Have you ever been in the
middle of a typing in data for an hour and ready
to save it, only to find that you don't have a
formatted blank disk? How about this: A
program asks you to type in a file name. Do you
remember what it was? It would be a pain if you
had to quit the program and run the System
Utilities, just to find the name of a file.
Up until the Desktop Manager came along, it
was a problem. In fact, you couldn't do it. Now,
with the addition of the Desktop Manager and
the Disk Utilities module, you can do all this and
more. A simple keypress suspends your program
and allows you to format a blank disk. Another
keystroke lets you list the files on a disk. Are you
familiar with the System Utilities program? The
Disk Utilities module has most of the features of
the System Utilities— all available in on instant—
and while you're still working with your current
program.
I personally use the List Files option a dozen or
more times a day— it alone is worth the price of
the module. Another great ON THREE value for
only $44.95. Call ON THREE for the exact
shipping date. 1 1 1 1
Apple /// Software and Hardware
Wish List
Please Return To:
ON THREE, Inc.
Attn: Bob Consorti
4478 Market Street, Suite 701-702
Ventura, CA 93003
Dear Bob,
I'd like to see the following items for my
Apple ///.
Hardware Items: What I Would Pay:
D Apple /// Speed Up Kit
(Makes all programs run 3-4 times faster)
D Slot Expansion
n More than 51 2K of memory
n Larger capacity hard disks
n Full Apple //e, //x compatibility.
n Better/Faster Graphics
n AppleTalk Networking
n Other hardware (please specify)
Software Items:
D Data Base
D Home Accounting .
D Hard Disk Boot
D Fast Hard Disk Backup
n slower Hard Disk Backup (Just Kidding)
D Fast Floppy Disk Copy
D Utility For Larger SOS.DRIVER files
n Other software (please specify)
Problems You Would Like Fixed:
April. 1 9B6 ON THREE
A Look Inside:
Business Basic Internals
part i
Introduction
The Business Basic statements
INVOKE and PERFORM provide
an easy to use interface to assembly
language procedures and numeric
functions. This allows extending the
capabilities of BASIC for any given
application without requiring that it
carry around all possible functions.
When these additional functions are
not required this has the effect of
conserving memory.
If you have not already read the
sections of the Apple Business Basic
Reference Manual that pertain to
this subject (Chapter 6 of Volume 1,
Page 161 . . . ), you should do so at this
time. This paper assumes that you
have read and are familiar with that
material as well as the Apple ///
Pascal Assembler (ref: Apple ///
Pascal Program Preparation Tools
Manual, Chapter 2).
The INVOKE Statement
The INVOKE statement accom-
plishes four functions:
1 . Deletion of all previously invoked
modules and recovery of the
memory used by those modules.
2. Loading of one or more assembler
modules from a storage volume
(diskette or hard disk).
3. Relocation for execution of the
code image(s), excluding any
relocation tables.
4. Building the procedure name
table to allow symbolic access
via the PERFORM statement
or EXFN functions.
The INVOKE statement creates a
procedure name table to be used by
the PERFORM statement. This table
contains the PERFORMable names
for the assembly language procedures
and functions. It also contains the
expected parameter word-count for
validating the amount, but not the
form, of the parameters passed.
Those of you who are familiar with
the ''innards'' of the Apple ][, as well
as the III, may recall an article that
appeared in the Apple Orchard in
1980^ and subsequently revised and
printed in All About Applesoft, by
John Crossley of Apple Computer,
entitled: 'Applesoft Internals. " It is
likely that the publication of that one
article was responsible more than any
other single event for the onslaught of
software development in those early
years. To the delight of hackers and
developers alike (and in those days
there was little difference), complete,
although brief descriptions of all of
the major internal routines allowed
programmers full access to the Apple-
soft ROM routines along with infor-
mation on using CHARGET and
TEXTPTB, etc.
Business Basic, however, wets a slightly
different story. Apple Computer, in
their infinite wisdom, declared the III
a business machine and decided that
what the user didn 't know would never
hurt. It should be noted, however, that
Apple did take pity on the Apple III
developers and made available several
pages of tech notes that were roughly
the Apple I I Equivalent of the Applesoft
Internals material The situation has
changed since the demise of Apple III
production and along with it, technical
support. Thus we are pleased to pre-
sent in public print for the first time
those tech notes pertaining to Business
Basic Internals.
The lack of specific type validation
implies that this facility can be
misused with potentially fatal results
for the entire application. An example
of this might be passing an integer in
place of an address parameter. Since
both these parameters are of the
same size on the 6502 stack (i.e., two
bytes), the PERFORM statement
will go ahead and interpret the data
as an address, since that is what it is
expecting. In this event, the proce-
dure will attempt to execute code at
the false address indicated by the
data bytes.
The PERFORM statement saves the
name following the word PERFORM
and begins processing the parameter
list (if one exists) by pushing the
parameter data on the stack. When this
processing is complete, the procedure
name table is then searched for the
supplied name. When it is found, the
stacked word count is checked against
the count from the procedure name
definition and if they match, the
invokable routine is entered via a
JSR instruction.
The EXFN FUNCTION Calls
The EXFN. and EXFN%. functions
are almost identical to PERFORM
except that a function name must be
found in the procedure name table
and four dummy bytes are pushed
onto the stack just before the JSR is
executed. The four dummy bytes are
not included in either the expected
word count or verification process.
Invokable Module Description
An invokable module is a relocat-
able assembly language code file (no
Pascal routines are allowed!) pro-
duced by the Apple /// Pascal
Assembler.
The relocatable code file may not
have been linked or in any way
modified after generation by the
Pascal assembler: The linker in the
Apple ///Pascal system is not a linker
that will combine a collection of
assembler code files into a bigger
linkage-edited code file. It is designed
only to link assembler routines to
Pascal programs.
ON THREE April, 1 386
A single invokable module may
contain any reasonable number of
entry points. These are specified by
using the .PROC directive for proce-
dures and/or .FUNC's within that
module. The name given with these
directives is the symbolic name that
will be used by the PERFORM and
EXFN statements to access the
assembly language routine.
Several directives in the Pascal
Assembler can not be used when
creating invokable modules for use
with Business Basic. .ABSOLUTE,
.ALIGN, .INTERP, .CONST, .PUB-
LIC, .PRIVATE and .ORG will
generate an INVOKE ERROR if
used.
The .DEF and .REF assembler
directives can be used within a single
invokable module to allow routine-
sharing among multiple .PROC's
and/or FUNC's within that module.
Cross-module .REF's and .DEF's are
not supported and their use will
cause an INVOKE ERROR.
Invoked modules will always be
found in bankable memory within a
single bank. This limits invoked
modules to 32K of combined memory
including the relocation data and
interpreter tables.
The assumption is made that the
reader understands the special en-
hanced indirect addressing of the
Apple ///. The pointer addresses
created by Business Basic are always
passed to invoked modules with the
extended byte adjusted so that the high
byte of the enhanced indirect address
is in the range $02 to $81 . This is done
to avoid the anomalies that occur
when ($00xx),Y or ($FFxx),Y address-
ing is attempted.
Note that system interpreters are
always assigned their zero page and
stack at addresses $lAxx and $lBxx,
and the registers that control this
assignment should never be modified
by an invokable module.
The expected word count parameter
of the .PROC and .FUNC directives
gives the number of [two-byte] words
(not bytes) that will be passed on the
6502 stack by BASIC to the invok-
able module. This count is calculated
using the word count table (Table I),
for the various types of possible
parameters that BASIC can pass.
The total word count of all expected
parameters for any given entry point
must be added together and the sum
specified in the .PROC or .FUNC
directive. BASIC does not allow
variable length parameter lists when
viewed as a word count. You can pass
two single-precision reals in place of
one long integer, or four integers in
place of two single-precision reals,
but this will probably give your
assembly code a severe case of indiges-
tion. Thus the parameter passing is
positional only, not symbolic and
fixed length.
Parameter Description and
Conventions
The specific order and type of
parameters chosen for an invokable
module is up to you. You can also
decide either to pass a parameter by
value or address. The parameters are
processed from left to right and
pushed on the stack in that order,
thus the last parameter in the argu-
ment list will be the first to be pulled
off the stack.
Parameters are passed by address
by preceding the variable name in
the PERFORM statement with the
commercial "at" sign [@]. This
causes two actions by BASIC:
1. The low two bytes of the en-
hanced indirect address are
placed on the stack.
2. The enhanced indirect address
is also set up on the interpreter
zero page and in the interpreter
extended page ($16xx).
The PERFORM statement pro-
vides for up to eight address pointers
in zero page for use by any specific
procedures or function. This 'pointer
stack' begins at address $E8, $E9
and $16E9 and continues through
$F6, $F7 and $16F7. This allows you
to set up and use extended addressing.
When both the address and value
modes of parameter passing are used
in a single procedure or function call,
the pointer stack is filled in order as
address (@) parameters are encoun-
tered. Thus the first occurence of an
@ parameter address will be found at
$E8, $E9, and $16E9 regardless of its
position in the parameter list.
Note that all parameters that are
passed by address must be accessed
via the enhanced addressing mode.
This is the only means of access that
will work, because the bank holding
the assembly code of the currently
executing invoked module must be
selected as the current bank, but
BASIC'S data storage tables may not
be in the currently selected bank. It
is impossible for invoked code to
bank switch while residing in bank-
able memory itself!
Table I: Parameter Descriptions
Parameter Description lype Char* Word Count
Short Integer
Long Integer
*S!ngle-precison Real
**Acldress
%
a
none
@
Byte Count
2
8
4
2
^Numeric expressions follow the specifications for the appropriate numeric
type.
**Extended addresses are three bytes, but only two are passed on the stack.
tnte9er%
LSB
MSB
Table II Parameter Stack Usage
Long Integer SP Real @Acfdress
LSB
LSB
*
MSB
EXP
ADDRLO
ADDRHI
- Top of stack
MSB
EXP
April. 1 9B6 ON THREE
Parameters are pushed on the
stack high (most significant) byte
first, therefore the invoked code must
pull parameters off the stack low
(least significant) byte first. This is
shown graphically in Table II for the
five types of parameters. Note that
expressions will have the appropriate
number of bytes pushed on the stack
for the resultant value. Note also
that the JSR return address is on the
stack above the parameter data in
the usual low byte order.
figure 1.
Invokable Module Parameter Passing
INVOKE MYMODULE
PERFORM ME (%l%, &L%, R, @S$)
1% high
^ 2 bytes
^ 8 bytes
^ 4 bytes
^ 2 bytes
^ 2 bytes
1% low
MSBL&
LSBL&
EXPR
MSBR
NSBR
LSBR
S$ addr high
S$ addr low
Return high
Return low
- 6502 stack
String Parameters
String parameters can only be
passed by address and explicit string
functions are not allowed. String
processing can be done by passing
string addresses and operating on
strings in memory with the PERFORM
statement.
BASIC uses a three-byte descriptor
for each string. The address passed
by BASIC for a string parameter is
actually the address of this three-
byte descriptor, and not a pointer to
the actual string data.
A string descriptor consists of a
length byte followed by a relative
offset. The length is an unsigned
Figure 2. Pointer @ Passing
PERFORM, EXFN., EXFN%
The Apple /// uses three-byte extended addressing pointers. They are passed
both on the 6502 stack (two bytes) and in the interpreter's zero page and X-page.
Up to eight pointers nnay be passed for simple variables and array elements.
(Zero page register = $1 A, so Extend page is $1C)
$E8
$E9
$16E9
Istptr
found
$EA
$EB
$16EB
2nd ptr
found
$EC
$ED
$16ED
3rd ptr
found
$F6
$F7
$16F7
8th ptr
found
Address low
Address high
Extend ("X") byte
The parameter list is processed from left to right.
These pointers are only passed for "@" variables in the parameter list, not for
the 'pass by value' expressions or variables.
value, and if zero, indicates a null
string (a string with no data). The
next two bytes are a relative offset to
the beginning of a string buffer allo-
cated for the contents of a given
string. The offset is an unsigned
number that is subtracted from the
highest address available for the
storage of string data. The result of
the subtraction is used to locate the
beginning of the buffer which contains
the actual ASCII data. When the
length is zero, the offset is invalid,
therefore length must be checked
before using the offset.
1
figure 3. String Descriptor
B$ = "HELLO"
descriptor
06
02
Ff|05 08 00
>
k >
k
. A offset
1 — length
var type
iidiiie
length in var tbi
A string data buffer contains more
than just the ASCII characters that
have been assigned to the string. It
also contains a second three-byte
descriptor that points back to the
original string descriptor. This back
pointer consists of a type byte and an
unsigned two-byte offset from the
beginning of the simple variable
table or the array variable table. The
type byte normally specifies to which
of the two variable tables the offset
applies.
figure 4.
String Descriptor Back Pointer
FRETOP HIMEM
1 1
48
45
4C
4C
4F
41
FD
-
HELLO type offset 1
TYPE: descriptor
41 = simple backpointer
81 = array
Since the descriptor and the back
pointer have 16-bit relative offsets,
all the string descriptors must occur
within the first 64K of the appro-
priate variable table and the string
data pool itself may not exceed
64K.
Trying to create new variables,
particularly strings, or to change the
length of a string involves the entire
BASIC memory system. This is
necessarily so since either of these
actions could cause 'garbage collec-
tion', a process which compresses the
string data storage area and reclaims
free memory for new strings.
Business Basic provides an inter-
face that allows access to some of the
interpreter's internal subroutines
that process strings and perform
other functions. This interface, known
as DISPATCH, is somewhat analo-
gous to the ProDOS MLI, or Machine
Language Interface, and will be des-
cribed later. It is the only recom-
mended interface to the internals of
the Business Basic interpreter.
ON THREE April. 1 9SB
The difference between a 'pointer
to a descriptor', a 'descriptor', and a
'pointer to the string data area' must
be clearly understood. The subroutines
to be described later, such as PTRGET,
normally return a pointer to a
descriptor.
A descriptor cannot be used directly
to reference the string's data without
first being converted into a pointer to
the string data. (This conversion is
performed by the routine NOTNOW.)
When BASIC returns a pointer to a
descriptor or a temporary descriptor,
the descriptor always contains a
relative offset.
If you want to assign some ASCII
data to a string variable, the ASCII
data must be copied into BASIC'S
string data storage area and a des-
criptor built for that data. Then the
new descriptor can be copied onto
the existing original string descriptor
in the appropriate variable table,
and the back pointer in the string
buffer can be set up to point to the
string's descriptor in the variable
table.
Before the descriptor for an exist-
ing string variable is replaced with a
new one, the old string data buffer
must be deallocated. Deallocation
involves changing the back pointer to
indicate the size of the 'free memory'
space that is being deallocated.
BASIC has two routines, STRCP
and INPCOM that will perform these
two tasks for an invokable module.
STRCP copies the ASCII data into
the string data storage area, creates
the associated null back pointer, and
builds a temporary descriptor for the
data. If the DOPAR routine is used to
evaluate a string expression, the
string result is returned as if STRCP
was used to create it. Temporary
descriptors are stored in zero page by
the various routines. Temporary des-
criptors are exactly like regular
string variable descriptors and if you
wish to reference the ASCII string
data they must also be converted by
NOTNOW.
INPCOM performs the assignment
of your temporary descriptor to a
variable's descriptor, deallocates the
old one and fills in the null back
pointer. Using strings in BASIC is
complicated, and it is recommended
that you clarify your understanding
of how it works by explaining it to
another programmer.
Functions and Passing
their Results
Externals functions in Business
Basic operate through the EXFN.
and EXFN% statements. EXFN. is
used to return single-precision real
floating point results and EXFN% is
used to return integer results.
These functions return their results
on the 6502 stack. To be compatible
with Apple /// Pascal, which pushes
four dummy (BIOS) bytes on the
stack, BASIC likewise pushes four
dummy bytes on the stack after each
parameter. This requires that your
external function routine pull the
four bytes off before pulling any
parameter bytes. The dummy bytes
contain meaningless garbage and
should be ignored.
The results must be pushed on the
stack in the same manner as they are
passed, i.e., with the LSB stacked
last, just before the return address.
The integer result is a signed two's
complement integer with the sign bit
taken as bit seven of the high byte.
The single-precision real result is a
normalized 23-bit mantissa with an
assumed significant one-bit which is
replaced by the mantissa sign bit and
an excess 128 signed exponent. When
the mantissa sign bit is set, or one,
the mantissa is negative and when
the exponent is less than 129, the
number is less than one, except that
a zero exponent defines a zero result
although the bytes of the mantissa
may not be assumed to be zero (i.e.,
they may be non-zero even though
the number is zero) . For clarity, some
examples are shown in Table III.
figure 5. EXFN. Parameter and
result passing
INVOKE MYPACKAGE
PI = 3.14159
X = EXFN.XX( A*3-l-.5, @PI)
Stack on entry to code:
EXP
^A*3+.5
^(5) PI
MSB
NSB
LSB
Addr high
Addr low
Dummy 4
Dummy 3
Dummy 2
Dummy 1
Return high
Return low
t 6502 stack
Stack just before RTS to BASIC:
Result EXP
Result MSB
Result NSB
Result LSB
Return high
Return low
t
- 6502 stack
Table III SP Real Example
■'''^■'■''^■Numenc''''''''''''''''''"^^^^^^^^^^^
Packed
SP-Real
(Hex)
Value
Expn
MSB
» . .
LSB
.ooTiiiiM^^^^^^^^^^^^^^^^^^^^^^^^^^^
7A
00
00
00
.25 :lim^^^^^^^^^^^^
7F
00
00
00
.50
80
00
00
00
.....999iit;: ,. .
80
7F
FF
F7
WS^^^^^
00
XX
XX
XX
-'f»''
81
00
00
00
4
83
00
00
00
i : iii iiM^^^^^^^^^^^^^^^^^^^^^^^^
08
OOi
00
00
iji^^^^^^^^^^^
00
00
00
00
||!|||^||B||
assign menl
)
April, 1 3BB ON THREE
Figure 6 Parameter Pull Order
Real =
EXP
MSB
NSB
LSB
four bytes
INT% =
High
Low
two bytes
Long lnt& =
MSB
LSB
eight bytes
Ptr@ =
X-Byte?
Addr.
Addr.
low
high
two bytes
Interfacing With the
BASIC Interpreter
Invokable modules used to extend
the Business Basic language commonly
will need to access some internal
subroutines within the interpreter. A
special interface is provided for this
purpose.
This interface has been specially
designed to maintain the indepen-
dence of code within the interpreter
and the invokable modules while
allowing access to the interpreter.
This should allow the interpreter to
be modified and upgraded in the
future without requiring modifica-
tion of existing invokable modules.
While Apple no longer supports the
/// and presumably will not be releas-
ing future enhancements of Business
Basic, it is not without the realm of
possibility that ON THREE or some
other independent developer may
give consideration to this prospect.
Thus the use of any other informa-
tion or linkage is not recommended,
since it could become invalid at a
later date.
The call interface consists of a
routine number and a fixed address
entry point in the interpreter's zero
page. The routine number is stored
at $E7 and a JSR to DISPATCH is
then executed. DISPATCH is located
at $E4 in zero page.
Invokable modules will normally
reside in a bank other than the one
containing the desired routine, so
direct access of the interpreter is
impossible in many cases. DISPATCH
performs the necessary bank switch-
ing, calls the requested routine and
then reverses the bank switch and
returns to the invoked module.
Most, if not all, of the routines that
can be used within the interpreter
can take error exits which will go
through the BASIC interpreter and
not return to the invoked module.
The BASIC program should there-
fore be prepared to properly handle
such errors when the occasion arises.
SOS calls can be made directly to
SOS from invoked procedures or
functions. Doing so can be very
useful and at times very dangerous:
BASIC may have files open, memory
allocated, events armed, etc. and
doing anything to undermine the
assumed state of these things will not
be reflected in the status information
being maintained by BASIC. This
does not preclude making SOS calls,
but some reasonable care should be
given in selecting what the invokable
module does directly with the
operating system.
Table IV is a summary list of some
of the routines available through the
DISPATCH interface. These routines
are described in further detail in part
two of this article. Obvious by their
omission, there are undocumented
values that have a place in this table
and that do exist. Apple warns us
that they are not usable without
intimate knowledge of the interpreter
internals and cautions that anyone
using them does so at their own risk.
Name
DOPAR
PTRaei
ERRDIR
Hbr.
1
5
UNGET
6
GOTOB
7
GETADR
8
FNDLNCO
FNDLIN
NOTNOW
9
10
13
ERROR
14
SERROR
16
SCRUNCH
16
EXPAND
17
FRECNOW
20
OPENIT
22
GIVAYF
POSINY
25
26
FIN
27
DATAN
32
STROP
33
INPCOM
34
LETP2
35
INT
39
CVT2STR
44
Table IV
Desoriptloit
Evaluate an expression, return type and result
Find, In the variable tables, the variable at TXTPTR
Returns If a program is running, else ILLEGAL DIRECT
error
Converts the line number In LINNUM into a binary
Integer
Returns TXTPTR at the line in LINNUM if it exists, else
error
Rounds real in FAC to a 16-blt address in POKER,
POKER+I
Search forward fronn Y-X-A for line nunnber >= LINNUM
As above with search starting at beginning of program
Oiven a pointer to a string descriptor, returns string
data pointer and length
Raises BASIC error condition given in X. May not
return
Raises if possible BASIC error matching the SOS error
In A
Requests BASIC to free up A pages of unused memory
to SOS
Inverse of SCRUNCH. Expand memory for BASIC by A
pages
Free up string descriptor and string space at pointer in
FAC
Open the filename at TXTPTR If it is of the file type
inX
Convert A-Y Integer into sp-real in FAC
Rounds sp-real and converts to positive Integer in
FAC
Converts ASCII data at TXTPTR into floating numeric in
FAC
Moves TXTPTR to end of the current token ized
statement
Copies string data at STRNG1 into string data area and
buMs temporary descriptor pointing to It
Assigns a string (pointer In FAC) to string variable in
VARPNT
Assigns a value In FAC to a variable of any type in
VARPNT
Returns sp-real In FAC of the integer portion of real in
FAC
Converts FAC Into a string and returns descriptor in
FAC
ON THREE April. 1 SBB
figure 7. BASIC formats
Line Format:
len
line nbr
-lo-^hi
I
token ized line;
jgl
00
(length)
Overhead: 4 bytes
Program Format:
, TXTTAB
00 ien1
1
linnuml
tokenized line 1 .'
1 I I L
00
Ien2linnum2
T
>n
tokenized line 2
1 I I I L
M
00
isl
jenSJlinnumS
1 rici —
tokenized line 3
I L^^_l
00
lenN
I
linnumN
— I — \ — r^r""
tokenized line N .
I I L^!U_
00
00
00
00
figure 8. Sample BASIC program
JTXTTAB
00 |oc
OA
00 |81
58
3D
31
FF
81
31
30 loo
SOP
LEN LINNUM FOR X
1 TO 10 EOL
06
14
00 |d9
58 loo
PRINT X
05
1E
00 |82|00
NEXT
00
00
00
ARYTAB
Equivalent source program:
10FORX = 1 TO 10
20 PRINT X
30 NEXT
ARYTAB '
Overhead = 4 bytes
Lines are stored in ascending order
At this late date, it is unlikely that
those undocumented entry points
would be changed. Readers having
additional information are urged
to submit it to ON THREE for
publication.
Business Basic is a tokenizing
interpreter that upon program entry
compresses keywords to one-byte
tokens. The resulting code is often
referred to as program text or token-
ized program text. No other process-
ing, syntax checking or conversions
are performed until statement exe-
cution of the program text occurs.
BASIC scans the tokenized form of a
statement byte by byte using its own
program pointer, known as TXTPTR.
All statements commence with a
token and the token is used to call the
proper routines to execute each
statement. Each statement routine
performs the necessary syntax check-
ing whenever a statement is executed.
TXTPTR' s position determines what
line and statement of the program is
currently executing.
Some of the routines that can be
called by the DISPATCH interface may
modify TXTPTR. Since TXTPTR is
the sole means of continuing BASIC
program execution after returning
from an invoked module, it must be
preserved if any of the routines that
change it are going to be used.
An example of this is the OPENIT
routine for opening a file. It requires
that TXTPTR be modified to point
to the pathname to be opened. If the
existing TXTPTR (all three bytes,
remember) is not saved and restored,
when you RTS back to BASIC, it will
attempt to continue program execu-
tion using data found at the end of
the pathname, since that is where
OPENIT left TXTPTR.
Business Basic implements TXTPTR
as a subroutine that resides in zero
page. This subroutine has two entry
points, CHRGET and CHRGOT.
This routine is very useful for syntax-
ing tokenized ASCII data. CHRGET
(JSR $B5) gets the next sequential
non-space character or token from
the data pointed to by TXTPTR
($BC). Upon return from CHRGET,
the accumulator contains the char-
acter or token and the 6502 status
flags are set as follows:
ON THREE Presents. . .
LAZARUS ///
File Recovery System
A wrong keystroke can lose hours of work
The correct keystroke with Lazarus /// can undelete those
lost files. Need we say more?
$49.95 plus $2 s/h
Not copy^protected^-lnstalls easily on Selector ///, Catalyst
io
April. 1 9BB ON THREE
tttttttttttttttttttttttttttttttt
2
t
*
3
t
f
igure 9
*
4
t
*
5
t
CHRGET Routine
t
6
t
t
8
9
tttttttttttttttttttttttttttttttt 1
ORG
$B5
10
t
00B5:
E6 BC
11
CHRGET
INC
TEXTPTR
;Low byte
00B7:
DO 02
12
BNE
CHRGOT
OOBS:
E6 BD
13
INC
TEXTPTR+1
;High byte
14
TEXTPTR
=
ic+l
OOBB:
AD 00 02
15
CHRGOT
LDA;
$0200
:Load byte from program
text
OOBE:
C3 3A
16
CMP
#$3A
: Colon
OOCO:
BO OA
17
BCS
END
;If so, RTS
0OC2:
C9 20
18
CMP
#$20
; Space?
00C4:
FO EF
19
BEQ
CHRGET
; If so, restart
00C6:
38
20
SEC
00C7:
E9 30
21
SBC
#$30
0OC9:
38
22
SEC
OOCA:
E9 DO
23
SBC
#$D0
;Clear carry if digit,
set
otherwise •
OOCC:
60
24
END
RTS
—End
assembly r
24
byteSf Er
rors:
Z-flag: set if the character is a colon
($3A) or
a Hne terminator ($00)
cleared for all other conditions
Carry:
clear if the character is an ASCII
digit
set if the ASCII character is non-
numeric
CHRGOT ($BB) returns the cur-
rent character at TXTPTR if it is not
a space ($20), otherwise the next
non-space character is returned.
CHRGOT performs the same func-
tions as CHRGET except that
TXTPTR is not incremented before
fetching the character. Normally,
CHRGOT is used only after a call to
CHRGET and if this is always true,
CHRGOT will not change TXTPTR,
since CHRGET will never leave
TXTPTR pointing to a space.
Figure 9 is an assembler listing^of
the Business Basic CHRGET routine,
whose purpose, design, and coding is
byte-for-byte identical with that of
Applesoft Basic.
Many of the characters available
are really three-byte enhanced in-
direct addressing pointers and should
always be treated as such, regardless
of actual content. BASIC goes to
considerable effort to maintain the
high byte of these pointers in the
range of $02 through $81 to prevent
anomalies of enhanced indirect ad-
dressing from messing up and crash-
ing the system. Before you attempt
writing invokable modules you must
have a complete and thorough under-
standing of this Apple /// addressing
mode.
In the above descriptions, BASIC
defines a floating point accumulator
known as the FAC. This ten-byte
area, starting at $69 in zero page, is
used for many purposes. These pur-
poses are varied, but the normal ones
relevant to this paper and the
Business Basic internal routines are
input arguments and output results.
These come in four types that use
different parts of the FAC as shown
in figure 10. The locations with the
FP comment are used for sp-real,
those with the LI comment are used
for long integer data, SI indicates
short integer, and STR-PTR refers
to pointers to string descriptors.
The FACLO location is used by the
floating point routines but is not
stored in the storage tables after
computations. This extended preci-
sion at compute time minimizes
most of the anomalies usually asso-
ciated with floating point numerics.
In the previous description of float-
ing point results that are returned by
an invoked EXFN routine, the
'packed' format of BASIC real num-
bers was described. The unpacked
format of reals in the FAC is the
same, except for the mantissa sign
bit which must be removed from bit
seven of FACMSB and placed in bit
seven of FACSGN and the 'implied'
most significant mantissa bit must
be set on in FACMSB.
Pointers to string descriptors left
in FACMO, FACLO, and FACMOXB
may or may not be enhanced indirect
addressing pointers. Routine 33 cre-
ates a 'temporary string descriptor'
for your string data (possibly read
from a storage volume) . These temp-
orary descriptors must be released
with FRECNOW before returning to
BASIC if they are used in the in-
voked module. The temporary des-
criptor stack is located in zero page
and so a pointer in the FAC left by
STROP will not actually be an
enhanced indirect pointer, but to
simplify writing invokable code, you
should always handle these pointers
as if they were three-byte pointers.
an
This concludes Part I of our two-part Basic
Internals paper. For those of you who have a real
need to pursue the substance of the internal
DISPATCH routines, we have made available, for
the nominal service charge of ,$5.00 postpaid,
photocopies of the entire article, part two of which
will appear in the next issue of ON THREE.
Additionally, we expect to be able to update, most
likely in the June issue, additions and corrections
to the list of zero page pointers and other data.
1601:
0069:
0069:
006A:
006B:
006C:
006D:
006E
006F
0070
16&D
General
EXTPAGE
FAC
FACEXP
FACMSB
FACMMB
FACMO
FACLO
FACSGN
FACXl
FACX2
FACMOXB
figure 10.
Purpose Floating Point
Accumulator Fields
.EQU 1601
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
69
FAC+0
FAC+1
FAC+2
FAC+3
FAC+4
FAC+5
FAC+6
FAC+7
;Add 1 to offset to
X-Byte from pointer
jFP
;FP
;FP
;FP
;FP
;FP
LI
LI
LI
LI
LI
LI
LI
LI
SI STR-PTR
SI STR-PTR
+ FACMOXB
FACMO+eJ[TPAGE
; Address of
string X-Byte
ON THREE April, 19aB
1 1
Products & Services
Available for the Apple ///
Current ON THREE Price List
Product
Price
S/H
12-issue subscription to ON THREE
$40.00
Back issues of ON THREE
$5.00 ea
Disk Of the Month (DOM]
$14.95 ea
$2.00
Order 2 or more for only
$12.50 ea
$4.00
Desktop Manager-ON THREE O'Clock
Combination
$173.95
$8.00
Desktop Manager
$129.00
$6.00
Desktop Manager Disk Utilities
$44.95
$3.00
Desktop Manager
ASCII Conversion Table
$9.95
$3.00
ON THREE O'clock
$49.95
$3.00
Lazarus /// Version 2.0
$49.95
$2.00
Draw ON ///
$179.00
$5.00
Apple /// Fortran
$99.00
$5.00
Selector /// Program Switching Utility
$99.00
$7.00
Uncopyprotect Driver
$19.95
$2.00
CROSSWORD-SCRAMBLER
$19.95
$2.00
The Apple /// Fruit Machine
|Slot Machine Game)
$19.95
$2.00
The Apple /// Card Machine
IBIackjack Game)
$24.95
$2.00
Fmit-Card Game Combo
$39.95
$3.00
Game Card ///
$59.95
$2.00
Micro-Sci Disk Drives
A3-140K
$299.00
$6.50
A143-560K
$399.00
$6.50
3M OS, DD Disks |10| for A143
$39.95
$3.00
Apple ///Unidisk 3.5
(800K disk) with interface card,
Apple /// software & documentation
$499.00
$10.00
Unidisk doc b disk only
$50.00
$3.00
Sider10(10MegaBytes|
$999.00
35.00
Sider20 (20 MegaBytesj
$1299.00
$35.00
(Siders can be daisy-chained
Xebec 9730 (34 MegaBytes|
$1999.00
$35.00
512K Memory Upgrade (256K to 512K|
*(You remit $449 and we rebate
t
$50 when the old 256K board is
returned-l
$399.00*
$10.00
256K Memory Upgrade (128K to 256K|
$200.00
$10.00
256K or 512K upgrade installation by
ON THREE (appt. only]
$50.00
256K Reconditioned Apple ///
$999.00
$50.00
512K Reconditioned Apple///
$1399.00
$50.00
Apple lie Mouse and interface card
(can be used with Draw ON ///
or Desktop Manager)
$150.00
$5.00
Dust Cover for Apple /// with
Monitor ///
$11.95
$2.00
Dust Cover for Apple /// with ProFile
b Monitor ///
$12.95
$2.00
1 V MY APPLE /// T-Shirts
Sm, Med, Lrg, X-Lrg
(Color choices:
Yellow, beige, white, blue)
$11.95
$3.00
1 V MY APPLE /// Sweat Shirts
Sm, Med, Lrg, X-Lrg
(Color choices:
Silver, white, blue, yellow)
$18.95
$3.00
1 ¥ MY APPLE /// Caps
$5.95
$2.00
tsubject to increase
California residents add 6% sales tax.
To order, call |805| 644-3514 or write:
ON THREE, Inc.
Attn: Order Dept.
Post Office Box 3825
Ventura, CA 93006
We accept Visa, Mastercard, and American Express. There
is a 3% surcharge on orders charged to American Express.
Table V
Useful Business Basic Zero Page Variable Equates
Address
$07
$08
$0A
$00
$17,18
$19,1A
$1B,1C
$24,25
$24,25
$35,36
$39,3A
$3B,3C
$3D,3E
$3F,40
$41,42
$43,44
$45,46
$47,48
$49,4A
$4B,4C
$4D,4E
$4F,50
$51,52
$53,54
$55,56
$57,58
$5C,5D
$5E,5F
$62,63
$67,68
$69-70
$6C,6D
$7B,7C
$B5
$BB
$BC,BD
$E4
$E7
$Ea-F7
Name
VALTYP
INTFLG
SUBFLG
ANYNUM
???
VARPNT
???
UNNUM
POKER
INDEX
TXTTAB
VARTAB
ARYTAB
STREND
FRETOP
INVTAB
RAMEND
FRESPC?
HIMEM
CURLIN
OLDLIN
OLDTEXT
DATLIN
DATPTR
INPTR?
FORPNT
*t
*t
*t
LOWTR
FAG
FACMO
STRNG1
CHRGET
CHRGOT
TXTPTR
DISPATCH
SUBRNUMB
VARPTRs
Descriplloit
Input/output variable type flag
Input/output variable type flag
Must be $00 for PTRGET and DOPAR calls
Output flag from FIN
Points to first byte beyond last used vbl's nanne*
Points within BASIC program* +
16-bit register for line numbers, etc.
Output data from GETADR routine
General purpose pointer for many routines*
Pointer to beginning of program text*
Pointer to beginning of simple variable table*
Pointer to beginning of array variable table*
Pointer to end of variable storage*
Pointer to end (bottom) of string storage area*
Pointer to beginning of invoked modules*
Pointer to highest available memory?^
General purpose pointer* t
Highest location, less one, available to BASIC*
Current line number being executed
Last line number executed^
Pointer to next stmt to be executed*^
Line number of current DATA statement^
Pointer to next byte of data to be read*^
Pointer to current input source* t
Pointer to string variables, general purpose*
Output from FNDLNCO routine*
General floating point accumulator
General string pointer in FAC*
Input pointer for STROP*
Entry point: get next character or token
Entry point: get current character or token
Current character or token pointer*
Internal entry point for BASIC routines
Internal subroutine request number for DISPATCH
Call by address enhanced Indirect pointers (8)*
An asterisk [*] following descriptions in the above table indicates a
three-byte pointer. The location of the third b3^e, or X-byte, can be
calculated by adding $1600 to the high byte of the zero page pointer. X-
byte labels are formed by adding an **XB'* suffix to the tv^o-byte label
names. A dagger [ t J following a description indicates this pointer did
not appear in the original paper and has been added by the editor or
others. In some cases because the purpose or function of the supple-
mental items was arrived at by a number of methods, their accuracy can
not be 100% guaranteed,
Apple cautions again that while these zero page locations are not
likely to change (even less so, now), all references to these locations
should be done with equates so that invokable modules could easily be
reassembled if for any reason changes are required at some future
time.
12
April, 1 9B6 ON THRE
Graphics:
Easter Egg
gary crum/ian barland
REM :ic4c:*c*:»c:*c:*::r**i«c:*::tc:|::tc4c4c:«;:»::*c:«c:«c4:****4clc:4c4::*c*1c4c* 210
1 REM t Easter Egg * 220
2 REM t t 250
3 REM * This program draws an n-sided t 260
4 REM t polygon, stores the vertices t
5 REM t in an array, then connects thern. t 270
6 REM t To use, type the program in, * 280
7 REM t make sure "/Basic/Bgraf . inv is t 290
8 REM * on-line, and type "run". t 300
10 REM Apple /// version 320
11 REM by Gary Crum and Ian Barland 330
12 REM Copyright (c> 1986 ON THREE
110 ON ERR INVOKE"/p/languages/basic/bgraf. 340
inv"
130 PERFORM graf i xmodeC/.2, 7.0) -.OFF ERR 350
140 PERFORM initgrafix 360
150 PERFORM fillport 370
160 PERFORM grafixon 380
170 OPEN#l,".grafix" 390
180 DIM x.vertex(30),y.vertex(:30) 400
190 pi=3. 14159 410
200 xr=279:yr=95 420
n=INT (RND( 1 )*20+10) : i=-0
PERFORM moveto(7.2*xr,7.yr)
FOR side=0 TO 2-01*pi STEP(2*pi/n)
PERFORM lineto(7.xr+xr*C0S(side),7.yr-^y
r:*:BIN(side))
i=i + l
X. vertex (i )=xr+xr*COS(side)
y. vertex (i )=yr+yr4:SIN(side)
NEXT side
FOR loopl=l TO n-1
FOR loop2=loopl+l TO n
PERFORM movet o r/.x . ver t ex a oop 1 ) , 7-y -
vertex (Loop 1) )
PERFORM lineto(7.x. vertex(loop2) ,7.y.
vertex(loop2) )
NEXT loop2
NEXT loopl
PERFORM movet 0(7.20,7.10)
PRINT#1", "Hit any key";
GET a$
IF a$=CHR*(27) THEN HOME: TEXT: END
PERFORM fillport
GOTO 210
O/Vrm^e Presents...
Reconditioned Apple ///'s
with Monitor ///
flvQilable flgain!
256K $999 51 2K $1399
Get 'em uuhile the getting's good!
• for yourself plus: $50 shipping and honcliing
• for your office
• for Q friend
• for Q business associate
OF counsel
Backed by ON THR€€'s
limited 60-dav uiorronty
Only ON THREE sells 512K Apple ///'s— the world's finest microcomputer. ON THREE
provides complete support at no extra cost, plus a full line of ON THREE peripherals and
sophisticated software.
ON THREE April, 19BB
13
FBI Apprehends Suspect:
Piracy Doesn't Pay
Gary L. Penrith, Special Agent in
Charge of the San Diego office of the
Federal Bureau of Investigation (FBI),
announced the arrest by FBI agents of
Raymond Paul Johnson, age 31, at
Waddell's Trailer Park, 1250 Barrett
Lake Road, Dulzura, California.
Johnson was arrested for copyright
infringement in violation of Title 17,
United States Code, Section 506A and
his arrest was based upon a federal
warrant issued by United States Magis-
trate Edward A. Infante on January 13,
1986.
The federal warrant charged Johnson
with the unauthorized duplication and
selling of copyrighted computer software
games and business programs.
Additionally, Johnson's residence was
searched pursuant to a federal search
warrant issued by United States Magis-
trate Infante on January 13, 1986, at San
Diego, California.
This search was conducted to obtain
additional evidence including computer
disks, computer hardware and business
records in connection with this copyright
infringement.
Johnson was afforded a hearing before
a United States Magistrate in San Diego
on January 14th. He was released in lieu
of a $5000 personal surety bond.
If convicted, Johnson could be sen-
tenced to a fine of not more than
$250,000.00 or imprisonment for not
more than two years or both. 1 1 1 1
Dish oi the Month
\X/hat is the ultimate time-saver? Why ON THREE'S Disk of the Month disl<ettes, of course. Why use your precious
time typing in ON THREE program listings wlien they are available on diskette for just $14.95 (plus S2 shipping and
handling) each?
Better yet, mix and match. Any two or more for SI 2.50 each (plus $4 total shipping and handling). Best bet: the works.
Now is the time to start your collection of these program-filled diskettes from all issues of ON THREE Magazine.
Bulk and group purchase rates are also available, call (805) 644-3514 to inquire about these super savers.
DOM #1— Extra Disk Space Plus!
This diskette contains all progranns from volume I, nos. 1
and 2 of ON THREE Magazine. Included: Disk PakI with a
program to give your four additional blocks of space on your
data disks, and Disk Pak2, something you can't do without if
you are a Pascal user, a convenient and easy way to list the
files on a Pascal directory. Plus graphics and sound demos
and more.
DOM #2— Changing Printer Cliaracters
Here is an amazing program you won't want to miss. With
it you can print to the Apple Dot Matrix and compatibles
such as Imagewriter or ProWriter the same characters that are
shown on your video display. Many special fonts, including
fancy gothic characters, can enhance your printed output.
And, it comes with complete documentation. Also on DOM
#2 are the other programs from issue number 3, more graphic
demos plus: a program to list files from an Apple |[ diskette
without needing to enter emulation mode.
DOM #3— Redefining a Keyboard
This disk is jam-packed full with programs that appeared in
Volume 1, No. 4 of ON THREE, and includes an easy-to-use
program that allows you to redefine any or all keys on the
Apple /// keyboard. Of particular interest is the ability to
reassign the 'V to be the delete key so it can be used on
AppleWriter /// and other programs. Also included are all the
WPL programs, a disk formatting utility, a graphics sketching
tool and still more that we don't have room to list here.
DOM #4— Emuiation Patch
Volume II, No. 1 had so many great programs it took two
disks, DOM's 4 and 5, to hold them all. DOM 4 has all of the
Pascal programs and the Apple ][ Emulation Patch, a way to use
any Apple /// Font in emulation. Also included is the Pascal
startup program for Access /// that lets you autodial. Another
fine utility is a Pascal program and UNIT to permit
calculations from within the Pascal environment. Demos
haven't been forgotten either with Radiate Graphics Demo and
Beatles Music Demo. To top things off, we have included a
number of Draw ON pictures you can view with the program
on DOM #5.
DOM #5— Access Draw ON
Here we find the BASIC startup program to autodial from
Access ///, and Ben's SUPER Slot Machine, along with all of the
VisiCalc and WPL programs, and the Circling Graphics Demo
which will show some of the fantastic images that Draw ON
can create, plus still more Draw ON pictures, along with the
Draw ON ///Picture Demo which you use to view Draw ON
pictures.
DOM #6— BASIC Lister Pius!
Straight from the pages of Vol. II, No. 2 is a program which
will give you perfectly formatted listings of Business Basic
programs, and a Pascal program to guide and assist you in
selecting noises for animation and game programs. Both the
Pascal Noisemaker and the BASIC lister come with full
documentation. We've also tossed in still more Draw ON
pictures and some new fonts, as well. You can use the Draw
ON viewer from DOM 5 to see them.
DOM #7— Heap Good Stuff
From Vol. ///, Nos. 1 and 2 we present a BASIC heap sort
routine and demo, IMAGEHELPER, a neat graphics utility to
simplify graphic image design, and a menu-driven program to
pre-select printer codes and parameters.
DOM #8— Directory Sorting
Here is what you have been waiting for, a complete BASIC
and Assembly program to take those old chopped up
directories and sort them out in just the order you want.
Included also is Clean.Heads, a Pascal program which
excercises your disk drive at cleaning time and writes a
program to remind you when you last cleaned heads, and a
simple utility to read a text file and find out what the
contents are without having to write a program on the spot.
14
April. 1 38B ON THREE
The Command Line:
ON Pascal ///
dermis cohen
This is intended as the first in a
continuing series of articles on Apple
/// Pascal and you. Many of you are
Business Basic programmers who
don't want to learn Pascal; however,
I am also going to be discussing the
Pascal system on the /// and that
includes the Filer, Editor, and Assem-
bler, all of which are necessary if you
are going to write an invokable
module or even install one that you
find listed in this (or another)
magazine. This first installment is
going to be a history lesson and
introduction to the upper layers of
the Pascal system.
History
In the beginning. Dr. Ken Bowles
of UCSD had a vision. This vision re-
lated to implementing a self-contained
operating system on a microprocessor
(an LSI- 11) where students could be
taught to program in Pascal. As the
years have shown, his vision was a
good one as UCSD Pascal has become
the "Standard" Pascal for micro-
computers.
There are now implementations of
UCSD Pascal on a wide variety of
machines. While others might dis-
agree, I (and many others) believe
that the best implementation is the
Apple /// Pascal system. In all other
incarnations, the Pascal system is
separate from any other OS on the
machine, with different disk formats,
different directory structures, and
different protocols for accessing the
BIOS (Basic Input/Output System).
With the Apple /// and SOS, Apple
made the first major breakthrough —
the Pascal system sits ''on top of"
SOS, using the native operating
system's formats and conventions.
While doing this, Apple went one
step further and maintained the
capability to read and write UCSD
formatted disks. In this series I will
attempt to teach you about the
Pascal System and programming in
it.
The Command Line
The first thing you will notice after
you boot Pascal on your system (I'm
going to assume that you have already
used SCP to configure your boot
disk) is that there is a funny line
across the top of your screen that
reads something like:
Command: F(ile E(dit C|ompile ... ? [A3/1.1]
This is called a command line. At
all levels of the Pascal system you
will find lines of this sort, which
inform you of the various current
options. When UCSD Pascal was
first developed, many users did not
have video terminals to use with
their computer and were restricted to
Teletype devices to communicate.
The command line was chosen as a
simple implementation for menus
which would not eat up a lot of
paper.
The first thing you should note is
that any option is invoked by typing
only the character preceding the left
parenthesis symbol. This character
is also the only one capitalized in the
word, but those of you who remember
the Apple ] [ will also remember that
some terminals display only upper-
case characters; therefore, there are
two ways to determine the letter
which invokes the desired action.
Another thing that you will notice
is that some command lines end with
a question mark and others do not.
This is neither an inconsistency nor a
mistake; the question mark is also a
valid command. If a question mark
appears at the end of a command
line, it means that there are more
options than could fit on one line and
if you enter a "?" additional choices
will be displayed.
The only items on a command line
which do not specify options are
informational. The first thing on a
command line tells you at what level
of the system you are operating
(Command, Filer, Edit, etc). The
final item on the line will be some-
thing of the form
[A3/1.1]
This tells you which version of UCSD
Pascal you are running, and which
revision it is (the above is Version =
AppleS, revision 1.1).
In this column we are going to look
at the options available from the
Command level (see Table I for a
complete list as of revision 1.1).
F(ile
F will invoke the Filer, which is a
very powerful utility in the Pascal
System (and the Apple /// in general) .
You are already familiar with many
of its capabilities from the System
Utilities program. Except for format-
ting disks, it includes all of the
capabilities of both the "File Handling
Commands" and "Device Handling
Commands" in System Utilities.
You are not limited to using these
utilities on SOS diskettes, but can
use them on UCSD (Apple ][ Pascal)
disks as well (except for making a
subdirectory).
There are also a few utilities here
which are specific to UCSD diskettes.
The most notable of these are K(runch
and eX(amine. If you attempt to use
either of these commands with a
SOS diskette, the Filer will disallow
the operation and tell you that such
an action is only valid with an Apple
][ disk.
The Filer also provides a few addi-
tional facilities. Most of these are
related to the "Workfile," a file (or
pair of files) which is the default file
used by other system programs such
as the Editor and Compiler. There
are also two directory listing com-
mands, L(dir and E(xt-dir, which
list respectively the current directory
or the current directory and all of its
subdirectories. On the Apple ][ (or
standard UCSD) the difference be-
tween these commands was the
amount of information printed about
each file.
ON THREE April, 1 SBB
15
Another handy command is Z(ero.
It does a "Remove All" on the files in
the specified directory. There are
also various ''wildcard" capabilities
built into the Filer which allow you to
operate on groups of files rather than
individual files (similar to the
"windowing" selection capability of
System Utilities without the graphics) .
E(dit
The UCSD Editor (usually referred
to as SOE for Screen-Oriented Editor)
has also been extended by Apple for
use on the ///. SOE is an extremely
versatile and easy to use full-screen
editor which operates in two modes,
program-entry and word-processing.
SOE defaults to program-entry mode
upon invocation unless the last time
you edited the file in question you set
the mode to word-processing. In
other words, SOE remembers from
invocation to invocation what mode
to use on a particular file. SOE
achieves this through the use of a
two-block long "header page" on
each TextFile. This header page
contains "environment" information
about the file such as the mode,
margin settings, and markers. Each
textfile may have up to 10 named
markers set so that you may move
around conveniently in the file.
SOE will edit both TextFiles and
AsciFiles (in Business Basic they are
PasTxt and Text, respectively) . There
are a number of differences between
the two file types, and your applica-
tion should determine which type of
file you use. Certain programs both
expect and require that the file be of
a specific type. For example, the
Compiler and the Assembler require
that the file be a Pascal Text File,
whereas Business Basic programs
work with ASCII Files. To you, the
user, there is no real difference
between the two file types. Internally,
however, the differences are clear.
An ASCII file conforms to the
"standard" Pascal definition of a file
of type TEXT. It is a sequence of
characters separated into lines by
EndOfLine characters. A Pascal Text
file is "optimized" for SOE and
program -entry. In addition to the
two-block header, the physical file is
d
d
CI
d
d
a
d
d
d
d
d
d
d
dit
J
ile
omp
ink )
ebug J
Invokes the codefile named SYSTEM. EDITOR
Compiles (if necessary). Links (if necessary) and executes the current workfile
Invokes the codefile named SYSTEM. FILER
Invokes the codefile named SYSTEM. COMPILER after initializing various System Globals
(this could be Pascal, FORTRAN, or Modula-2) Compiles workfile if one present
Invokes the codefile named SYSTEM. LINKER - combines p-code files with other,
p-code files or with assembled, native-code routines.
Invokes the codefile you specify in response to a prompt. Version 1.2 gives
a default of the last (non-system) codefile executed.
Invokes the Debugger (if you have one), which allows you to execute a program
as a subtask and trace its execution in p-code. Not documented in the manuals.
SSem J Invokes the codefile SYSTEM. ASSMBLER. Assembles workfile if one is present.
Ser Restart^ Reinvokes the last codefile executed, including System files
nitialize J
J
ptions
alt
ake Exec
Reinitialize the Pascal System - almost a "warm boot." Prefix
information is maintained
Change System Level options - currently, graphics space allocation,
residency of Apple ] [ Pascal disk routines, & filename display format
A full "warm boot" - SOS. KERNEL info is maintained; however, SOS.INTERP
is reexecuted beginning with its initialization routines.
Records keystrokes to an Ascii file up to a user specified terminator
Exit the Pascal System - displays message "Insert System Disk and Reboot"
Table 1:
Pascal System command line options
(although all are available from the command line, the dasfied line separates
them into the two groups which may be visible, a "?" will display the other
section of the command line)
always broken into two-block "pages."
That is why a directory listing always
shows PasTxt files as being an even
number of blocks in length, and at
least four blocks long.
Some of the restrictions on a Text
file are that a physical line may not
cross a page boundary (the empty
space at the end of a page is filled
with ASCII Nulls [Character 0]) and
that leading blanks on a line are
compressed into what is referred to
as a DLE (Data Link Escape) code
which consists of the DLE character
(ASCII 16) and a byte which is the
number of spaces plus 32. While this
might seem wasteful at first, you
should know that Pascal program-
mers are encouraged to indent their
code to display its logical structure
and in large programs the space
savings due to DLE compression are
substantial. Because of this, I always
do my programming with Text files
(which the Compiler and Assembler
require) but generally do my docu-
mentation in ASCII files (unless I'm
using Word Juggler) . The only incon-
venience here is that I must always
set the editing environment to word-
processing when I have an ASCII file
since the header block is not there for
SOE to see.
I am planning to devote my next
column to SOE and the Filer, so I will
leave further discussion until that
time.
C(ompile
This command does just what
its name implies, it invokes the
System's Compiler (the code file
SYSTEM.COMPILER) which, in
an Apple-supplied system, is the
Pascal compiler (Volition Systems
sells a Modula-2 system for the ///
which is a superset of the Pascal
system), and attempts to translate
the Pascal language statements it
is directed to read into a compact
form called p-code (which is actually
the machine code of a hypothet-
ical piece of hardware). The file
SYSTEM.PASCAL in the root direc-
tory is actually a piece of software
that "emulates" the p-code machine.
The compiler looks first to see if there
is a workfile to compile. If there is
not, it asks you for the name of the
input file, then for the name of the
output code file. If you are running
16
April. 1 9Be ON THREE
revision 1.1 or higher, it will then ask
for the name of the file to which you
would like the compiler listing to be
sent.
L(ink
This option is used to link together
separately compiled and assembled
code segments into an executable
code file (or library unit).
A(ssemble
The assembler is a very important
part of the Apple ///Pascal system. It
is based on The Last Assembler
(TLA) from Waterloo University.
TLA is also the only supported
assembler on the Apple /// and is not
only used to generate specialized
code for Pascal programs, but also
SOS Interp files such as Business
Basic, AppleWriter and invokable
modules in Business Basic. For the
above reasons, I believe that anyone
who wants to do any serious program-
ming on the Apple /// should become
familiar with the Pascal system. It
provides your only convenient inter-
face to the underlying machine.
X(ecute
This is the equivalent of the RUN
command in BASIC. You will be
prompted for the name of the
program you wish to run and then
the system will attempt to execute
the named program. Many of the
Pascal system utilities are not
available as system options and must
be executed (e.g. LIBRARY.CODE
and AIIFORMAT.CODE).
R(un
This is a slightly more specialized
version of X(ecute. It applies only
to the current workfile. If a code
file exists for the workfile, it is
executed. If not, the compiler will be
invoked to compile the text workfile.
Assuming that you had to compile
and were successful, the system will
attempt to execute the resulting
codefile, linking if necessary from
SYSTEM.LIBRARY.
U(ser Restart
With this command you re-execute
the last program (or system option)
executed (or selected) .
I(nitialize
Initialize is used to reinitialize the
file SYSTEM.PASCAL. It does not
alter the Prefix, but will reinitialize
memory allocation such as the amount
of space allocated for graphics.
H(alt
This is what might be termed as a
"warm boot" by some people. When
you enter Halt, the Pascal system
terminates execution and transfers
control to the Pascal interpreter
(SOS.INTERP).
SOS. INTERP starts again from
scratch, allocating drivers to Pascal
units, opening .CONSOLE for I/O,
and then reloads the Pascal system
and all of its parameters.
0(ptions
This selection allows you to select
certain system options such as the
residency of Apple ][ Pascal disk
routines and the amount of memory
space reserved for graphics.
M(ake Exec
You use this command to create
Exec files. Exec files are AsciFiles
that contain a sequence of steps that
you wish to execute repeatedly. For
those of you with large computer
experience, this is analogous in most
respects to a Job Stream or Run
Stream.
An example of where you might
use an Exec file follows:
Suppose you have a program that
generates data files for a graphics
program, but you have insufficient
memory to execute the program if
graphics space is allocated. To work
around this you could build an Exec
file that looks like this:
Xdatagen — execute the data
generator
— select Options
A — option A (graphics
space)
D — suboption D (32 K)
Q — Quit (system will
reinitialize)
Xgraphprog— execute the plotting
program
Then you would merely execute the
Exec file when you wanted to per-
form this sequence.
Q(uit
This option is new with revision
1.1. It simply issues a SOS Terminate
call (after verifying that you really
want to quit) . When this is done, you
will see the screen go blank (and
possibly inverse) and a message
appear in 40-column mode telling
you to insert your system disk and
reboot. The Quit option is exactly the
same as the BYE command in
Business Basic version 1.2.
MES
As a holdover from its beginnings
in UCSD Pascal, the Pascal system
looks for certain endings on file-
names at various times. Both the
Editor and Compiler, for example,
expect that input filenames end in
.TEXT; therefore, you need not
specify the extension when you enter
the name because the Editor (Com-
piler) will add .TEXT to the file-
name if you did not. This can lead
to difficulty if your filename does
not end in .TEXT, for example a
QuickFile report that was written to
disk (these end .ASCI). To get
around this, you may end a filename
with a period, which is a signal to the
system not to add .TEXT (and to
ignore the ending period). A similar
situation arises when you go to
execute a program. If you do not end
the name with either a period or
.CODE, the system will add .CODE
to the name when searching for it
on disk. On the other hand, the Filer
is very literal about the names you
give it.
Conclusion
This has not been an in-depth
discussion of the Pascal System on
the Apple ///, but it should give you
an idea of what is happening. The
manuals that come with the system
tell you all of this (and more) and are
pretty well-written. In this respect
we are better off than our brethren on
the ]['s, since Apple has learned a lot
about writing manuals since the
Apple ][ version 1.1 release.
(One of the things that folks at Apple
do is to rename SYSTEM. FILER to
be FILER.CODE and then copy
the SYSTEM.STARTUP file from
the System Utilities disk to be
SYSTEM. FILER, and it is some-
thing that you might want to try.)
an
ON THREE April. 1 9SB
iy
ON THREE Presents. . .
a new line off high capacity Appie /// disic drives
10-20 MegaBytes
or
34 MegaBytes
ON THREE has exciting news for you! A brand new line of low-priced hard disk drives for the Apple / / / .
10-, 20- or even 34- MegaBytes (million characters) of very fast hard disk storage can be yours, priced so low you can't
pass them up! These drives will allow you to consolidate all your files on a single disk and reduce the time you waste
searching through stacks of floppies.
Combined with our Selector / // Program Switching Utility, you can place all (see the Selector ad) of your programs on a
hard disk and put your floppy disks away forever. Think of how convenient it will be to be able to run any program from
your hard disk— in just seconds.
All our hard drives are manufactured byXebec— A leading manufacturer of hard disks for the Apple ] [. They come with a
full one year parts and labor warranty, amother mark of ON THREE quality.
Sider lO—Sider 20
You may have heard of the Sider 10 and Sider 20 for the
Apple ][. We have modified these drives to work in the Apple ///.
liiey come complete with interface card, cabling, documenta-
tion and driver diskette, ready to run on your Apple ///.
The Sider 10 and 20 are attractively styled hard disk drives
with a unique daisy-chain option that allows you to attach a
second drive to the back of the first, just in case you ever
outgrow the 20808 blocks on the Sider 10 or the 41616
blocks on the Sider 20.
Priced at only $999* for the Sider 10 and $1299* for the
Sider 20, these drives are the best hard disk value on the
market today!
Added Bonus: How would you like to be able to backup your
entire hard disk in a matter of minutes? We will shortly be
shipping the B-Sider, a high speed, low cost tape backup to
attach to the Sider 10 or Sider 20. Call for pricing and
availability.
Xebec 9730 The Xebec 9730 is the Sider's big brother.
With a capacity of 69,632 blocks (34-MegaBytes), it is one of
the fastest disk drives on the market. If you have very large
disk storage needs, the 9730 is the drive for you. Like the
Sider drives, the 9730 comes with everything you need to
get it running on your Apple ///.
The 9730 is only $1999* and is available right now from
ON THREE,
A Note On Large Hard Drives:
Since the Apple /// can only work with disk volumes up to 16-
MegaBytes In size, each of our large hard drives (Sider 20 and 9730)
have been split into two or more sections. Our 20-MegaByte disk is
partitioned into a 16-MegaByte volume and a four- Megabyte volume.
The 34-MegaByte disk is partitioned into two 1 6-MegaByte volumes
and one two-MegaByte volume. Partitioning simply means you will
have two or three disk volumes in one drive box.
UniDisk ///.5 800K Micro-Floppy
The UniDisk ///.5 is an BOOK 3.5 inch disk drive for the Apple ///. If you
have a hard disk and hate to do backups, the UniDisk ///.5 is the ideal solution.
You Ccin backup an entire ProFile with just seven UniDisk micro-floppies.
Faster than a normal disk drive, the UniDisk ///.5 is a great time-saver.
Even if you don't have a hard disk, wouldn't it be great to get rid of your
regular floppy disks? The new 3.5 inch disks are great! They fit in purses,
briefcases, and even shirt pockets much easier than standard 5V4 inch disks.
With a hard plastic shell, they can take far more punishment than the easily
destructible 5!4 inch diskettes. You can also use your diskettes on UniDisk-
equipped Apple //e and //c computers. Since these same 3.5 inch disks are
used on the Macintosh, a utility will be coming soon to transfer files to and
from the Mac.
The ON THREE UniDisk ///.5 comes complete and ready to run on an
Apple ///, including drive, interface caird, cabling, documentation and driver
disk. A truly great buy, priced at only $499*.
If you already have a UniDisk for your Apple //e, the driver and diskette are
available separately at $50 plus shipping.
We accept Visa, Mastercard, and American Express. There is a 3% surcharge on orders
charged to American Express. California residents add 6% sales tax (on products only).
♦Shipping charges extra: Sider 1 0, Sider 20 and Xebec
9730: $35. UniDisk ///.5: $10. UniDisk ///.5 docu-
mentation and driver disk: $3.
lb order, call (805) 644-3514 or write:
ON THREE, Inc.
Attn: Order Dept.
Post Office Box 3825
Ventura CA 93003
Technical Tip:
Installing the Xebec 9730
John r. sollman
When I first purchased my Apple ///
system in December of 1982, my
ProFile hard disk seemed big enough
to hold the world. After doing a few
jobs and storing data on the hard
disk, however, it gradually became
apparent that space is something
you are always running out of. As my
system continued to grow and pro-
grams were added to the hard disk,
more and more demand was placed
upon that meager five megabytes of
storage capacity.
In order to gain additional disk
storage capacity, a MicroSci A143
was acquired. Soon another was
added to the chain. Ultimately, my
system had grown to the point where
most of my worksheets and templates
were on floppies, and the ProFile was
being used mostly as a boot device
and a spooler. My large data bases
had to be copied to the ProFile when
being worked on, and then copied
back to the floppies and deleted from
the ProFile to make room for other
applications. Enough was enough.
The time had finally come to look for
some additional hard disk storage
capacity.
By coincidence, ON THREE
Magazine had just come out with a
number of new products for the
Apple ///, including the Trustor 10
and 30 hard drives, now known as the
Sider 10 and Xebec 9730 respectively.
After evaluating my anticipated
future needs for data and file storage
capacity, I decided upon the Trustor
30. Because the drives are identical,
all further references will be to the
Xebec 9730.
The new hard disk was to be
connected to a system which already
consisted of a 512K Apple ///, a
ProFile hard disk, one Disk ///, two
MicroSci A143 disk drives, Catalyst
2.0, Pascal, BASIC, the Quark
Discourse spooler, several typical
application and data base programs,
and, of course, all those drivers
which go with Catalyst and MicroSci.
My initial plan was to add the hard
disk to my system and keep the old
ProFile, which was to continue to
serve as the boot device. The Xebec
9730 was to be reserved for on-line
file and data storage. Plans, how-
ever, have a way of changing, and
mine did.
The Xebec 9730 is equipped with
an internal formatter and a smart
internal controller which gives it an
extremely fast seek time. This also
accounts for the extremely small
driver files needed to run this device.
While SOS is limited to about 32
megabytes of disk storage on one
volume, the Pascal file limitation is
effectively one-half of that, or 16
megabytes (approximately 32,767
blocks of data). The Xebec 9730, as
delivered for use with the Apple ///,
is divided into three volumes. Avail-
able disk space on the first two
volumes is 32,766 blocks each; 4096
blocks are available on the third
volume. Originally some 800 blocks
were spared out to replace any bad
blocks which might occur, but ON
three's experience has shown that
this is not necessary.
The drive comes with a controller
card and all necessary cabling. The
unit is shipped with the cabling
attached to the back of the drive. The
cabling consists of a heavy segment
about 30 inches long, and a lighter
segment about 12 inches long termi-
nated by a female connector. Also
included is a concisely written 18-
page user's guide which contains
complete and understandable instruc-
tions for installation of the device.
Included also is an installation
diskette containing a copy of the
Apple System Utilities Program and
a driver code file module. Conspi-
cuous by its absence is the slick
three-color brochure which devotes
the first several pages to telling you
how smart you were to buy this
particular product. ON THREE
advises that this is one of the frills
done without in order to give the
customer the best bang for the buck.
The device driver module and the
System Utilities diskette are con-
figured for Slot 4 in the Apple ///. If
the controller card is to be installed
in any other slot, the slot assignment
must be modified on the System
Utilities installation disk before
installation of the software can begin.
One word of caution before start-
ing installation of the controller
card. Do not be misguided by the
length of the cable when trying to
figure out where to put the Xebec
9730. As with the ProFile, effective
length of the cable will be only about
36 inches. In addition, the cabling is
quite heavy and might not lay well in
certain situations. The lighter part of
the cable passes through the opening
in the back of the Apple /// and plugs
into the front of the controller card.
Installation of the drive is simple
and straightforward. The controller
card may be installed in any slot
inside the Apple ///. The cable must
be passed through the opening and
plugged into the card before the card
is inserted into the expansion slot.
Care must be taken not to bend the
pins on the male (controller card)
end of the connector. A bit of gentle
force is needed to get the cable
connector to seat firmly to the
controller card. None of the pins
must be showing between the card
and the cable. If they are, it is not
plugged in all the way. Care must be
taken where the force is applied to
seat the cable, since it is possible to
bend the card and damage the cir-
cuitry. The cable must be neatly
routed behind the controller card
before the card is inserted into the
slot, so that there is no slack, and no
strain in either the cable or the
card.
ONTHRE
April. 19SB
19
The drive must next be formatted.
Two procedures are necessary. First,
there is a ''hard format," in which
the device's internal formatter is
formatted. This requires a device
driver called .FORMATTER, which
is a part of the driver module pro-
vided on the installation disk. Next,
a "soft format" is performed on each
of the three volumes. The ON THREE
User Guide recommends that the
volumes be named /ProFile, /Pro2
and /Pro3. Finally, each volume
must be verified.
The driver module on the installa-
lation diskette, called /XEBEC. 30,
occupies only seven blocks. The
module consists of four chained drivers
called, .PROFILE, .PR0FILE2,
.PROFILES, and .FORMATTER.
As delivered, the .FORMATTER
driver is inactive, and the module is
configured for slot 4. If the drive is
installed in a slot other than 4, the
slot configuration should be changed
before the driver module is installed
on any of your boot diskettes. This
will ensure that you do not forget to
make this change on one of your
diskettes. The .FORMATTER driver
should be left inactive. If for any
reason it is necessary to perform
another "hard format" on the Xebec
9730, the Utilities program on the
installation diskette should be used.
When adding the driver modules
to your SOS. DRIVER files, it is
recommended that Version 1.2 of
System Utilities be used if available.
Some of us, especially those of us who
use Catalyst 2.0, a spooler and
MicroSci disk drives, are blessed
with some enormous driver files.
Version 1.2 is said to handle large
driver files better than Version 1.1,
which is the version contained on the
installation diskette. Anyone who
has installed the ON THREE 512K
Upgrade should have a copy of
Version 1.2.
Those who use the Catalyst pro-
gram selector must also change the
Driver Configuration Block of the
.CATALYST driver. The instructions
for installation contain the values for
each byte of the DCB. The first byte,
of course, must be set to the slot
number in which the drive is installed.
Changing DCB values should be a
simple matter for any long-time
Apple ///user. If you use the Quark
Discourse spooler, there are a few
more changes to be made. The
second six bytes, bytes 06 through
OB, of the .SPOOL driver must be set
identical to the first six bytes of the
.CATALYST DCB. These changes to
the .SPOOL DCB were not included
in the instruction sheet accompany-
ing my drive, but will be included
with drives shipped in the future.
I initially configured only my
System Utilities Stage 1 boot diskette.
This was to permit me to resolve any
problems encountered before configur-
ing my Catalyst and other program
or copy-protected diskettes.
The first problem encountered
after renaming the old ProFile driver
(.PR0FILE4) and the volume (/
Pro4) (the volume must be renamed
before adding the new driver module)
and adding the new Xebec 9730
drivers was that I could no longer
communicate with the old ProFile
while in System Utilities. This
problem was solved by reordering
the appearance of drivers in the
SOS.DRIVER file. A driver module
was made consisting of 1) the Xebec
9730 drivers, 2) the MicroSci drivers,
and 3) the MicroSci formatter drivers
with two turned off. The correspond-
ing drivers were deleted from the
System Utilities boot diskette and
replaced by the module just created.
This put the old ProFile within reach
and enabled me to transfer the files.
(Thanks to Bob Consorti for his help
on this one.) This module was later
used for configuring my other boot
diskettes.
While proceeding through the
installation, it was decided to con-
figure my Catalyst for the Xebec
9730 hard disk instead of the old
ProFile as originally planned. I am
glad I did.
The old ProFile contained about
4.5 megabytes of programs and data.
Using the wild card, all the files were
transferred to the Xebec 9730 in
about 27 minutes. Most of the time
was spent reading from the old
ProFile. Following data transfer
came the moment of truth — booting
up time.
The reconfigured Catalyst worked
perfectly with the Xebec, as did
the reconfigured spooler. The only
problems encountered were in access-
ing the old ProFile from Pascal
programs. Catalyst 2.0 has a driver
module called .QUARKCOM which
is chained to six drivers named
.UNUSED. These are used for
dynamic loading of certain drivers,
such as .AUDIO or .GRAFIX. The
presence of all the drivers associated
with Catalyst and MicroSci places
the old ProFile out of reach of Pascal
programs, including System Utilities.
The old ProFile remains available to
programs like Word Juggler and
VisiCalc. File copies or backups from
the old ProFile would have to be
made out of the Catalyst environ-
ment. Those who use Selector ///
instead of Catalyst should not
experience this problem, since Selector
III does not require the use of special
device drivers.
Several attempts were made to
bring the old ProFile within reach of
Pascal programs in the Catalyst
environment. The old ProFile driver
was deleted from the boot diskette,
copied to the SOS.DRIVER file in
the Catalyst subdirectory, and dynam-
ically loaded. It worked for all but the
Pascal programs. It seems that the
two .UNUSED drivers designed for
dynamically loaded block devices
are too far down the chain to appear
in the Pascal Volumes command.
Perhaps later on, some fiddling with
the DCB of the .UNUSED drivers to
shift their positions within the chain
might bring the old ProFile within
reach of most Pascal programs.
However, the Xebec 9730 seems to
have so much capacity that I might
just sell the old ProFile and eliminate
that problem altogether. (Reorder-
ing of the position of the .UNUSED
drivers might affect the dynamic
loading of the .GRAFIX driver to a
Pascal program which needs it.)
The division of volumes on the
9730 seems to be quite fortuitous.
Since I am the Adjutant of my
American Legion post and the bulletin
editor of my Rotary club, I copied
the files I use in connection with
these jobs to .PR0FILE3. The size is
just right. .PROFILE contains the
Catalyst subdirectory, Pascal, BASIC,
and other software. The remaining
space will be used for some large
relational data base applications
20
April. 1 3B6 ON THREE
under development. Business files,
work aids, templates and worksheets
consume about 11,000 blocks on
.PR0FILE2, with lots of room for
expansion.
At the time this article was
written, the Xebec had been in use
for only a short time. The first thing
which impresses me is its lightning-
fast speed. Word Juggler documents
are loaded and stored in a flash.
Advanced VisiCalc loads a tiny bit
faster, but not much. Within the
VisiCalc program, however, com-
mands requiring program data from
the disk are executed noticeably
faster. The disk requires only about
20 seconds to come up to speed when
first turned on. The device's greatest
advantage is the convenience of not
having to search through a bunch of
floppy disks to find templates or
worksheets regularly used in work.
Since getting the drive up and
running, I have booted all of my
programs. Performance in all pro-
grams is significantly speeded where
disk I/O is concerned. In my Key-
stroke data bases, it is most convenient
to have them all on the hard disk. No
longer do I have to copy a data file to
the hard disk, and then delete it in
order to make room for other work.
One program, Omnis3, which I pur-
chased to create several relational
data bases, will not communicate
with .PROFILES. This is because of
the peculiar manner in which OmnisS
selects the volume for data files and
libraries. In my particular system,
Pascal assigns a unit number greater
than 12 to .PROFILES. OmnisS
apparently has access only to volumes
with a Pascal unit number of 12 or
less. Possibly this could be cured by
shutting off a MicroSci driver.
Limitations discussed above are
more associated with the Apple ///
operating system or Pascal than with
the Xebec 97S0. SOS has a limitation
of 12 block devices, and Pascal is
limited to 6. This is a problem I am
told ON THREE is working on. The
presence of all the block device
drivers associated with MicroSci and
Catalyst 2.0 quickly use up the
Pascal limitation. If one were to
consider installing a RAM disk or
some similar enhancement, some
concessions would obviously have to
be made. Those who use Selector ///
instead of Catalyst would encounter
fewer problems related to the number
of block device drivers in the system.
Overall, I find that the device is
quiet, fast, easy to install and a
pleasure to use. The drive provides
more than ample disk space on its
three volumes for most program and
data base applications. It comes with
controller card, necessary cabling
already wired, an 18-page installation
and user guide, and an installation
diskette. Several enhancements are
already in the works. The installa-
tion and user guide contains several
minor errors on page 5. Under a
section called ''Special Note," it
refers to driver names of .PR02 and
.PROS. Correct driver names are
.PR0FILE2 and .PROFILES. Other
than this, no fault could be found
with the documentation. It is clear
and concise, which is certainly
refreshing when one compares it with
the generally horrible writing en-
countered in the typical computer
manual. Most refreshing is the
willingness of Bob Consorti and his
staff to work with the customer on
any problems which might arise.
Editor's note: Subsequent to the time
this article was prepared, the above
errors have been corrected in a manual
rewrite.
The Xebec 97S0 hard disk drive is
warranted by Xebec for 12 months
from date of purchase. ON THREE
warrants the software media for 90
days. Available from ON THREE at
$1,999, the Xebec 97S0 hard disk is
indeed a bargain. HH
ON THREE Presents, , .
• Disk of the Month
• No need to spend your precious hours typing in
long and complex program listings
• Complete BASIC programs, assembler source and
object files from each issue of ON THREE
$ 1 4-95 each plus $2 s/h
two for Si 2a 50 each plus $4 s/h
• Numbers 7 & 8 now available
No. 7. Contains IMAGEHELPER, a BASIC program to aid in designing graphics images, a heap
sorting routine, and a program to preset printer codes.
No. 8. Contains BASIC and Assembly programs to sort directories, a Pascal program to clean
drive heads, and a text file reader.
DE CLASSIFIEDS
Classified rates: $1 per word, S25 minimum. Copy must
reach us 60 days prior to cover date, e.g., March 1st for
May issue, which would be mailed April 1st.
Subscriber Discounts: .50 per word, $12.50 minimum,
subject to the following restrictions;
• Non-commercial ads only
• No Items valued o\/er $100
SI\^ARTTAX Prepare federal and California state personal
income tax returns simultaneously. See results side by
side on your Apple /// system. Prints directly onto
standard IRS and California state forms: ]040,A,B,C,D,
E,G,SE,W,244I,540,A,B,CEF,D,G. Menu-driven with
many additional features. Ideal for professional or
personal use. $89.95. To order, call (415) 454-4357.
Officeware Data Systems, 351 Olema Road #15, Fairfax,
CA 94930.
ON THREE April. 1 9B6
21
Hovif many dollars
have you invested in your Apple ///?
Answer this questionnaire and find out liow to extend your computer's life:
• Do you vacuum your office or home less than twice a day? DYES UNO
• Are there smoicers in your office or household? DYES DNO
• Are there children in your household? DYES DNO
• Is the computer located in a family room or other high traffic area? DYES DNO
If you answered 'yes'' to one or more of the above
questions, then you need to protect your investment with
an ON THREE Dust Cover.
Dust Cover for Apple /// and
Monitor ///
$11.95
Dust Cover for Profile,
Apple /// and Monitor ///
$12.95
Plus $2 Shipping and Handling each
ON THREE |805| 644-3514
P.O. Box 3825
Ventura, CA 93006
Send me .
Send me .
Name
Address _
. Apple /// dust covers
. Apple ///-Profile dust covers
City
State
D enclosed $
D M/C D Visa D AE*
number
-Zip.
. Phone .
. exp. date .
Signature
*3% surcharge on American Express. California residents add 6% sales tax.
Hurrah for ON THREE!
ON THREE is America's leading Apple ///
support group and independent producer of
quality software and hardware products, and
ON THREE magazine, America's leading
Apple /// magazine is the official publication
of ON THREE.
ON THREE magazine contains enlightening
articles and programs about Pascal, BASIC, and
assembler; technical hints, reviews, material for
the novice and the advanced programmer, and in
addition, you will always find news of exciting
new and current ON THREE products, user group
listings and hot line consultants, plus the popular
and Informative "Three Questions" readers' forum.
Chances are your ON THREE
subscription is about to run
out. if so, renew now and
don't miss out on any of thie
interesting articies in future
issues nor announcements
of new and sophisticated
ON THREE products. ON
THREE Magazine, your bible
of Apple /// information.
Twelve issues for just $40.00,
back issues available at
$5.00, postpaid.
ON THREE (805)644-3514
, P.O. Box 3825, Ventura, CA 93006
I City
I State Zip _
I n enclosed $
I D M/C n Visa D AE*
' number
I Signature _
DNEW D RENEWAL
' *3% surcharge on American Express.
ON THREE presents. . .
The Uncopyprotect
Driver $ 19-95 S2'^%
ON THREE has not changed Its position
regarding duplicating copyrighted programs for
profit or to give away, but since many Apple ///
software products are no longer supported,
owners of AppleWrlter ///, VisiCalc, and VislCalc
Advanced Version are facing the problem of what
to do when a diskette "crashes." After much
consideration we decided to proceed with a
product to solve that problem. rA7e Uncopyprotect
Driver will allow you to make back up floppies of
the above programs. For the first time, you can put
your master disk in a safe place and boot on the
duplicate.
Economically priced at only $19.95 plus $2.00
shipping and handling, the Uncopyprotect Driver
comes with full documentation and will work
with Selector/// so you will no longer require a
"key" diskette. The Uncopyprotect Driver is sold
for legitimate .Arc/i/iAeil purposes only. ON THREE
does not condone and will not condone dupli-
cating a disk for any other purpose.
22
April. 1 9B6 ON THREE
Reading the Mail:
Three Questions
Softcard Incompatible
I am interested in buying a cliurch data management
program (I am a church, treeisurer) that is written in CP/M.
I bought the demo to see how it would work. When I run the
demo the only response I get is "Bdos error on A: Bad Sector"
and I cannot read the directory. I am using an Apple /// with
256K and a Softcard ///.
I called the person I bought the demo from and he asked if
I could find a place where I can convert the CP/M format he
used (TRS-80) to one that is usable by the Softcard ///. My
question is; is this translation possible, and if so, how?
Included on the demo is a file called RIHST.COM for the
Apple ///. (I tried to run this demo in the Apple /// native
mode with no success).
I am interested in your Selector ///, but do not know how
to use a switching utihty, or what is needed to use it.
Raithby R. Hiosted
San Jose, CA
P.S. Perhaps you know of a church data majiagement
program that is written to ruQ on the Apple ///. My main
interest is in the accounting for church funds and keeping
bank records.
I am not at all sure if the conversion you need is possible. I
am going to have to throw this up to our readers. The
problem is in disk formats. Yours is not the same as his,
thus you can't get to the program. Even after you get the
program on a disk that the Apple /// can read, you may not
be able to get it to run due to idiosyncrasies of the Apple ///
Softcard system.
Regarding the Selector ///, it's very easy to use a program
switching utihty— that's the whole purpose— to make it
easier for you. Bight now you are probably booting up your
machine for each different program you want to use. With a
program switching utihty such as Selector, you boot up the
system Just once each day. After you boot it up, you are
presented with a menu that hsts all ofthe programs you can
select.
You simply choose the one you want and press RETURN.
In a fewmoments the program appears on your screen. Just
as if you had booted it up from floppy disk. You can use the
program Just as you have in the past. The only thing that is
different is when you quit the program. In the past you
probablyreceived the message ''INSERT SYSTEM DISK AND
REBOOT". With the Selector you wiU go back to the menu,
where you can select another program.
The Selector allows you to run most any program from a
central menu. The process of 'Running' the program
requires that the program be placed on a hard disk system
(or a large capacity floppy). The Selector will place most
every program on the hard disk for you. All you really need
to do is select it from, the menu.
Using Selector with a hard disk system such as our Sider
10, win. allow you to consohdate all of you prograjns and
data. With a single boot disk (the Selector Start-up Disk),
you can use all of those programs. Since all ofthe program
are 'Run' from theharddisk, it will take only a second or two
to get to any program. Compared to the minute or two it
takes to boot some programs. Selector can be a real time-
saver for you.
One note of caution: Selector allows all native mode
Apple /// program to be used from the hard disk CP/M
programs can not be run from Selector. Apple ][ Emulation
mode can be selected from Selector, but the Selector does not
allow Apple ][ programs to be placed on or run from the
hard disk
It may be that a spreadsheet program such as VisiCalc
would serve to handle your needs for distributing church
funds and handling bank accounts.
Dual Power Supply
Dear ON THREE:
I am in the market for a 110 volt power supply for my
Apple /// as my Apple is configured for 220 volts. The same
apphes to my Monitor /// and my daisy wheel printer. My
printer is a Brother HRrlSXL. Are you able to provide any
help? Will be looking forward to a quick reply.
Bill Sharp
Jonesboro, AR
Well nrst of all, ON THREE can furnish a replacement
power supply at $75. However, as far as the Apple /// itself
is concerned, it should not be necessary, since the standard
Apple /// power supply has a Jumper plug for 230 volts/ 115
volts located on the rearmost portion ofthe power supply
board, right in front ofthe AC plug and power switch. It is
clearly marked.
As for the other equipment, we cannot advise you, but the
most likely solution would be an inexpensive 1 1 0/220 volt
transformer.
Dvorak Kesrcaps
Dear Val,
I have modified my keyboard to the Dvorak format and
changed all my software except my emulator disk. My
question is— are the keycaps available for the Dvorak
setup? My keys aj?e hills ajid valleys.
Ken Gerler
Bel Nor, MO
The best answer we can provide somewhat skirts the
issue. To the best of our knowledge, there are no Dvorak
caps available for the Apple ///. However, the Apple ///plus
keyboard and that ofthe Apple //e are identical, and there
are sets available for the //e. It is also quite possible that the
//e Dvorak set might fit tiie Apple ///, but we strongly
suggest checking out all of the keys, particularly special
keysUke [\]or ["] before committing any cash. Please let us
know how you make out.
ON THREE April. 1 3BB
23
state of tlie Art???
Gentlemen:
I have an Apple /// (128K upgraded to 256K), an Apple
ProFlle, three 140K disk drives and an OkiData Microllne
82A printer. I have had a service contract on this equip-
ment ever since I boioght it and have never had a problem
with the computer, only the dealers. The first charged
$850 and went out of business before the contract
expired. I looked around and foiond another Apple dealer 20
miles away and got a service contract for $1200 and he
closed shop before the contract expired. Presently I
have no service contract and can only pray that no
problems occur.
I have State Of The Art Inventory and General Ledger that
was installed on the ProFile by the first dealer. I back it
up once a month but I have doubts that my backup will
put copy protected software back on the ProFile. I also
have Apple Mail List Manager that I keep on diskettes. I
have other software but these two are the only ones I
worry about.
The ideal solution would be an inventory and general
ledger not copy protected and a mailing hst manager that
could be installed (by me) on a hard disk. I would like to
have some of the items you have for sale but feel they would
not help me a whole lot. I would be grateful for any
suggestions you miight have.
This is the only computer I have ever owned and I haven't
seen anything better. I would rather have this one than a
Mac or IBM. I suppose you have been getting "Dear John"
letters like this from many people but any help you can give
me will be greatly appreciated.
Raymond H. Pugere
Dartmouth, MA
It sounds to me as if you have been taken by a few different
dealers. My &rst suggestion is to take legal action against
whoever. If the two dealers did not complete the contract
they should be bound to give you a pro-rata refund. Also, if
you bought an Apple service contract (AppleCare), any
Apple dealer is obligated to give you warranty service. If
they go out of business, it's Just like you moved to a new
location. Your contract is valid and they owe you however
many months more of service.
Because the values you list are so high, I doubt if you had
AppleCare. It sounds more like a contract with the indi-
vidual dealers. In this case, if no legal action is possible,
you're out of luck. In any event, unless they offered on-site
replacement 24 hours a day (and kept in stock a complete
back-up system), you were taken by both dealers. For your
equipment you should have been charged no more than a
couple of hundred dollars a year. For the money you have
spent you could have purchased a dupUcate system as a
backup and had it available for supplemental use. This
possibility still exists.
Regarding your backup situation, once a Gle is placed on
the hard disk it is not copy-protected It may require a copy-
protected program on a floppy in order to run, but it can not
be copy-protected on the hard disk. Your current backup
routine will be Just &ae as long as your State Of The Art
floppy disk does not fail. If your hard disk ever fails, you can
use your backup copies to make the program work off of the
replacement hard disk. Your fears about Mail List Manager
are unfounded as it is not a copy-protected program.
There is one note of caution about the State Of The Art
program. I can 't recommend it for the following reason: The
program locks itself to the size hard disk you are using.
When the program was installed on the hard disk by the
State Of The Art mapping utihtyit also placed information
on the size of the hard disk in certain parameter files on
the hard disk. If you ever want to get a larger hard disk,
you will have to buy another copy of the program. This tidbit
of information is not in any of the manuals from State Of
The Art.
Since there are other accounting packages available for
the /// 1 recommend you get away from State Of The Art if
possible. Products such as the BPI accounting system can be
loaded onto your hard disk system with the addition of the
Selector program switching utihty You will also be able to
load the Mail List Manager program onto the hard disk with
Selector. Using the Selector will allow you to place all of
your programs on the hard disk and quickly switch
between them.
The Apple Mail List Manager is an old (and slow)
program that you may want to replace. I recommend ///E-Z
Pieces from Haba Systems. It offers many enhancements
over Mail List Manager, including the abihty to store your
ffles on the hard disk (Mail List Manager only stores ffles on
a 140K floppy). I hope these remarks have helped you. If we
can be of any further assistance, please do write again.
Compati'bility
Dear Bob:
Congratulations on the resumption of OW THREE. Prior to
your suspension of pubhcation I wrote you a letter criticiz-
ing ON THREE in its prior incarnation for serving as an
outlet for your fnostrations with Apple Computer. I wanted
to take this opportunity to let you know that I am very
pleased with the new ON THREE. AIL of us who own Apple ///'s
aj?e naturally disappointed in Apple's decision to discon-
tinue production. However, that decision is reahty. We must
aU now decide where we go from here. ON THREE should be
a great deal of help ui the process.
I would be interested in obtaining additional information
fpom you regarding both Draw ON /// and the ON TIME
Desktop Manager. Among other things, I would like to know
whether these programs are compatible with Catalyst and
how they interact with /// E-Z Reces. If you have additional
information which you can send, please do so.
Once again, congratulations. I look forward to the next
issue of ON THREE.
John L. Ryder
Memphis, TN
Both Draw ON /// and the ON TIME Desktop Manager are
compatible with Catalyst and /// E-Z Pieces. It is possible
that you might run into a stack overflow problem in a S56K
memory machine ff Draw ON /// and Catalyst are in
memory at the same time. There is no such possibility in a
512K machine.
Thanks for the kind words about ON THREE.
Looking for Public Domain
Dear ON THREE:
Do you know if there are any groups around the country
that handle public domain softwaj?e for the Apple ///?
Lynn P. CasweU
Elk River, MN
I have heard of a number of Apple /// user groups that
offer a limited number of pubhc domain programs, also
there is some PD software available through some bulletin
boards around the country. Please check the latest issue for
both user group hstings and bulletin boards that may have
what you're looking for.
24
April. 1 9Be ON THREE
strange You SlioiQd Ask.. . .
Dear Bob;
Just received the new ON" THREE, and I'm impressed with
Val Goldin^'s work. This issue emphasized Busuiess Basic a
bit much for this Pascal programmer's tastes, but I'm sure
I'll have my turn. I'd just like to add to the hst of what's
needed for the ///:
1. A native SOS-based Pascal system conforming to the
Apple AJCSD syntax, vocabulary, and hterary structure, but
providing for an adjustable-size data space (more than
64K)...
2. Ditto for a C compiler . . .
3. A SOS revision permitting more than four expansion
slots at a time. . . it's too easy to fill four slots today! (A
ProPile card, a network card, a UPIC, and a UnlDisk card. . .
then where do I put my PGPI Z-80 card and my PCPI 8086
card and my PCPI 68000 card and my. . . ?)
4. An external expansion box to go with it. . .
5. The same SOS revision permitting Megabytes of RAM
(I've heard rumors. Bob) . . .
6. A flexible relational database system (of course,
with a C compiler, we could always port Dbase III . . .
Dbase ///?) . . .
And more companies willing to support our fine
machines!
Contrary to Art Schumer's wishful thinking, according to
Bill Wasmund at Quark, they have no plans for new
products for the ///, although they are still giving good
support to the products already out. . . but don't expect to
see Catalyst Version 3.0 for us . . . just the //e and //c!
(Although, with a letter writing campaign, who knows
what could happen?)
Keep up the good work!
Tom Betz
Yonkers, ISTY
Several ofthe items you mentioned on your "wish list" are
actually under consideration. More would be possible if we
were to ever get a measure of cooperation from the folks at
Apple, but it seems no one there has an interest in
exhuming the corpse, so to speak.
Rob Turner of our staff is busily at work disassembling
Pascal. The hope, if not the promise, is there for a version to
run under a 65C802 which, by putting the 802 to work the
way it was intended to be used, would allow bank-switched
data space and faster running programs.
C is not as likely a possibility because of the limited
interest (fat least on the ///). We will Just have to wait
and C.
Another gleam in Bob ConsorU's eye is exactly what you
are looking for: a SOS revision to allow more than four slots.
Not having ''original" source code for SOS makes working
on a task like this far more involved than it needs to be.
There is one expansion box available from DA Data Systems,
but because ofthe way the slots are phantomed, it can't be
used for a peripheral which may generate interrupts.
Megabytes of RAM on a ///? Well, we've heard rumors,
too.
We didn't see where Art Schumer specrQcally said Quark
was planning new products for the ///. However, it is our
understanding that Quark now has updates available for
Word Juggler which will allow it to run under and utilize
the memory of a 512K machine.
You 're right, the January issue did feature Business Basic.
However, our column ''Now About this Basic Business ..."
will not appear in each issue. Similarly, Dr. ABtrahan's
"Graphically Speaking" column, which we introduced in
February, will not always be in each issue. We plan also to
bring in columns on Pascal (there you go) and assembly on
the same basis. We have to make the most of the limited
space we have available, and this seems to be the best
solution.
In tlie Driver's Seat
Dear Bob,
Re: Pascal Toolkit, Pascal 2.0 Compiler, Pascal 1.2,
Desktop Manager, Latest drivers.
First, it's nice having ON" THREE back. I thought we'd lost
you for good.
I wanted to write to encourage you to get the above-
mentioned Pascal updates and tools together and available
ASAP. I had occasion to watch (though not use) Pascal 1.2
and the 2.0 Compiler way back in beta days and I am one
more (amateur) programmer who really wants it and will
pay for it. The 3's Company BBS (via Tom Betz and Rob
Turner's notes) suggest you're packaging the whole thing. I
hope that's true and I hope you'll hurry!
I have the Pascal Technical Reference Manual and Apple's
very nice data base tool set— called Record Processing
Services or RPS. I don't know if anyone's in need of these
or not.
Also, I want to put in a 'ready-to-order' order for the
Desktop Manager which I understand is now anticipated
for Feb '86. For the record, I'm most Interested in the macro
facility, notepad, cLLpboaj?d and disk management features,
as I am mainly a writer.
Lastly, I have a suggestion for the magazine: How about a
Listing of SOS drivers and their latest revision numbers? I
spent some time sorting out my own drivers to make sure I
was using the most current versions I had received from
hither and yon, but I don't have any way of knowing
whether my set is actually the very latest available. It might
be worth setting up an informal 'archive' of the latest
drivers, available for a copying fee or whatever.
As a start, here's the best of what I've got:
driver name supplier
revision
.CONSOLE Apple
1.30
.AUDIO Apple
1.00
.PROFILE Apple
1.30
.PRINTER Pkaso
3.20
.ONTIME ONTHREE
1.30
.GRAFIX Apple
1.30
.RS232 Apple
1.30
.CATALYST Quark
2.01
.QUARKCOM Quark
2.00
.FIVIT Apple
1.30
ain, I'm glad you're back.
Jim Redfield
Costa Mesa, CA
Thanks for your comments, they spurred me to action.
Look in ON THREE for information on an upgrade facihty
for Pascal and all ofthe drivers. In addition we have set up a
diskette backup service. If you have a bad copy ofVisiCalc,
AppleWriter or most any other disk, we wiU Gx it for you.
Information on this service is located elsewhere in the
magazine.
I'm gladyou would like to order the Desktop Manager, you
(and all other Apple /// owners) are the reason we spent so
much time and money developing it The Desktop Manager
really makes computer life easy
ON THREE April. 1 3BB
25
MacThree Program
Dear Mr. Consorti,
It was a pleasure to receive ttie Jan-uary, 1986 issue of ON
THREE magazine. I am glad that you plan to continue
publishing this interesting and useful journal in addition to
your manufacturing and distribution activities. The move to
monthly publication is definitely a step forward, as is the
hiring of Val Golding as the magazine's editor. I anticipate
much of interest from ON THREE in 1 986, and eagerly await
February's issue.
After having read January's Block__Write column, I must
say that I applaud your courageous decision to standby the
Apple ///, despite the fact that Apple has deemed it neces-
sary to throw this particular baby out with the bathwater.
Although I use a number of different computers in my
capacity as systems consultant, I bear a special fondness for
my Apple ///, and view with much amusement Apple's
recent efforts to evolve the Apple ] [ into a mutant hybrid of
the /// and Macintosh. Why didn't they exploit the superior
design of the /// in the first place, improving the machine's
few but irritating shortcomings on the way to Macintosh
compatibihty, I'll never know. Had they done so, I think
they would have produced a perfect bridge between ] [ line
and the Mac line. Instead they're now playing catch-up,
which is a very funny situation uideed for a company that,
at the time it hired me, was the market leader and arrogant
almost to the point of insufferability. You prove on a daily
basis that the Apple /// is not only a good machine, but a
viable one (albeit in a much smaller marketplace than that
targetedby Apple's marketeers circa 1980), and for that you
deserve the congratulations and the thanks of those of us
who were involved ui the machine's design and early
development.
Have you or anyone known to you taken a good hard look
at putting a 65C802 ui an Apple ///? Having tried it myself,
I'm painfully aware of the obvious differences between the
16-bit chip and the Apple's CPU. However, since the exact
same chip functions perfectly in an Apple //e, I beHeve that
the 65C802 might be made to work in an Apple /// if
problems of bus noise and timing can be identified and
solved. I have not met anyone who has investigated the
problem beyond the imsuccessful direct-chip-replacement
stage, but I would venture to guess that a good hardware
engineer could devise a way to mate the 65C802 and the
Apple /// inside of a month or two. Perhaps the upgrade
might even be limited to a special, chip-sized "buffering
board" that coiild be sandwiched between the 65C802 CPU
chip and the CPU socket on the Apple /// motherboard. By
producing a 16-bit upgrade for the Apple ///, you could
conceivably extend the machine's commercial life for a
while, especially if you coiiLd also acquire a hcense from
Apple to rewrite SOS and other system software to take
advantage of the 65C802's enhanced instruction set. I for
one, wo-uldbe glad to tackle such a software project, and I'm
sure you could find others as well. Such an upgrade would
render the Apple /// competitive in terms of hardware
power with the IBM PC at the very least, and would open the
door to many applications that are not now practical on the
///. Please give this idea some thought, and don't hesitate to
contact me if you'd like to pursue it further.
In any event, thanks again for resuming publication of
ON THREE, and best wishes for the hohday season, not to
mention a prosperous 1986!
Jim Merritt
Morrow Bay, CA
Thanks for taking the time to write those interesting
comments about the ///. Your special fondness de&nitely
shows through. With respect to the reasons Apple did not
follow through with continued development of the ///, we
beheve that a combination of circumstances led to its early
and regrettable demise. The position of management at that
time was, as you indicated, very Macintosh-oriented and the
///group scarcely had a voice in development. This can be
attested to by the amount of time and expense that went into
the Apple /// plus upgrade, only to have the production
discontinued after only some 15,000 had been manufac-
tured. Moreover, the early bad press (on a bad machine,
released before it was ready) was never overcome and had
to have played a major role in management's decision to
drop it.
Nevertheless, we do have the /// to thank for the
subsequent development of Apple ][ ProDOS with its
compatible Gle structure and the concept of the MLI, or
Machine Language Interface. As to why the SOS concept
was not carried over into the Macintosh we will perhaps
never know, but Apple agadn showed their marketing
ineptitude with the introduction of an innovative Lisa,
foisted upon thepubUc at a unconscionable price. It appears
that the recent management changes at Apple and the
structural reorganization may at last have paved the road
to sensible products at sensible prices.
Stm, Macintosh is an orphan, with a non-standard barely
compatible &le structure. It is to be hoped that the two
newest versions, to be released in January and later in the
year, will offer substantially more compatibility with both
the ][and the ///. Right now that compatibihty is available
essentially though the "universal" UniDisk 3.5, which with
its own 65C02 and ROM, makes it possible to read and write
either 512 or 524 byte blocks. Our Gle conversion utility is
currently taking a back seat until more is known of the new
Unidisk-type drive for the Mac.
Yes we have used, and do use, the 650802 in some of our
///'s and have not, with the exception of interrupt handling
under certain circumstances, run into the problems you
mentioned. In fact we are well on the way to ffnishing an
assembler written almost entirely in 650802 on a ///. We
would appreciate any input from you, particularly relating
to timing and bus noise.
Titan Address
Dear Sir:
I read about the Titan Apple ] [ emulation cards in your
magazine, however I was unable to find an address or phone
number for themi.
Your pubhcation is loaded with great tricks, software,
hardware, etc. It wo-uld be handy if this great wealth of
products and information could be compiled into a catalog/
manual format and bound in a ring binder that could be
periodically added to and updated.
Michael D. Johnson
Franklin, LA
The information you requested is:
Titan Technologies, Inc.
310 W.Ann St
Aim Arbor, MI 48104
(313) 662-8542
An index such as you suggest would be a large under-
taking, but we are certainly willing to consider it. You might
also be interested in reading Bob Consorti's column in
connection with suggestions for future ON THREE projects.
26
April. 1 9Be ON THREE
Old Age Creeps Up
Dear Bob,
I am having problems with. System Failure $01 . Does this
soiand hke the motherboard or power supply? My SOS
Reference Maniial calls it an Invalid BRK, but sometimes it
occurs when I am not entering anything in the machine.
The monitor generally changes pitch from the typical 60 Hz
hum, then I get right arrows in 40-column mode (inverse
video— I'm using Catalyst and Word Juggler) over the entire
screen for a few seconds before I fall back into the screen I
wa^s in before the failure, except the error message now
appears on the bottom of the screen. Any Ideas?
Also do we still turn to our friendly Apple dealer when we
need service or do we go to the trouble of mailing everything
to Sun Data in Utah. Last I heard Apple had a IS-year
committment to spare parts and service for the ///. Have
they changed policy again?
Kelly McGrew
Olympia, WA
The System Failure $01 is impossible to accurately
diagnose, but it would appear to be the main board, and it
may well be as simple as advancing age. How long has it
been since you have done any preventative maintenance?
Using a chip-puller, try pulling ail chips and cleaning the
sockets with a camels hair brush and Just a touch of
denatured alcohol (easy does it), then replacing the chips,
making sure they are Grmly seated. With luck your system
should be in shape again for several more months.
It appears that Apple has dropped all support for the ///,
including service. Most dealers will still service the
machine, depending on their supply of spare parts. Sun
Data seems to have Apple's complete inventory of spare
parts now.
Backing Up Baclcup /// ?
Dear Bob:
I Bjn tired of Backup /// aborting on the last diskette of a
backup because of a verify failure. I have tw^o questions:
1 . Do you know of an any alternative program that does
not die so -ungracefully?
2. Is the source code available from any place so that it
may be modified to eliminate this trauma?
I am a reasonably proficient Pascal programmer. If the
source code is available I would be willing to work on it so
that it would be possible to replace a disk that fails
verification and restart backing up from the beginning of
that diskette. Upon completion I would be pleased to place
the program in the pubhc domain for all to benefit.
Any help or suggestions you have would be appreciated.
Milton L. Johnson
Milwaukie, OR
We are tired as well. Unfortunately, as much as we like to
offer positive responses to reader's questions in this
column, this is one case where we can not. There is no
alternative program, to our knowledge, and Apple is hang-
ing tightly onto any and ail Apple /// source code.
The reason Backup /// reverts to the beginning upon an
abort or verify error is simply that the program makes no
provision for saving start-of-disk pointers, a fairly simple
thing to do when one has the source code available.
Nevertheless, we wouldn 'fc put it past the ingenuity of some
of our readers to come up with a fix. How about it, gang?
Desktop Manager and Powerkesrs
Dear Sir:
I would like additional Information on two of your
products; ONTIME Desktop Manager and UniDisk ///.5.
On the ONTIME Desktop Manager, do you know if it will
work with Powerkeys? The program is part of the .console
drivers and is invoked be pressing [closed-apple-tab].
Before I purchase it, I want to be sure there is no conflict
and that both programs will function together on my
system.
My last question is what is the scheduled release date of
your UniDisk ///.5 Macintosh conversion utility.
PA. Sikorski
Norwich, CT
Our Desktop Manager will work fine with Powerkeys and
there will be no conflict. It should be noted also that Desktop
Manager has the ability to create macros up to a size of 2K
each, considerably larger than Powerkeys. This facility will
appear m a module to be released shortly after the main
product.
At this time we have not scheduled a release date for the
UniDisk conversion program. We are waiting to see the new
directory and file structures which will be used on the
Macintosh Plus before commencing work on the conver-
sion program.
Cliecking Lexiclieck
Gentlemen:
I am in complete agreement with the January article on
the superiority of Word Juggler over AppleWriter ///. I also
miss the ability to 'print to a file,' but the many advantages
more than outweigh that one disadvantage.
The February article on LexLcheck makes me believe that
there may have been a version that has been updated over
the one I bought. I do not have the option of getting the
program to "guess a word" either during the typing or whfle
checking the typed manuscript. Quark has not offered to
supply, even for a price, updated versions. I sent in the
registration several months ago.
Some users of Word Juggler may have wondered why does
"G" appear at the bottom of my screen instead of the bel
sounding. I wondered for a while until I realized that it was
probably because I had inadvertantly hit [COISTTROL-S] on
the keypad instead of [SHIFT-8]. To get your bel ringing
again, hit [CONTROL-8] again.
R.B. Thompson
Raleigh, NO
Thanks for the tip on the bell. We've run into similar
situations in other programs. Your question on Lexicheck
we'll throw open for discussion. It's quite likely one of our
readers has some inform.ation. 1771
Oops
We goofed. In the February article "Fooling the
Apple DMP/' we chopped out three important pmpam
lines. Here they are:
i$m HEM * IF HOT A lACKSMCE, CHECK TOfl HETUHH
IStH ir ASC{KEYP«ESS) <> 8 THEN t SaO
1S20 tr STORES'*" '* THEN 1410
Sorry 'bout that; hope this fixes any problems you
may have.
ON THREE April, 1 986
27^
ON THREE Presents. . .
ON THREE O'clock
Now is the Time
for a reai'time ciocl<
Believe it or not, a lot of folks have plain
forgotten (or never knev^) that the Apple ///
was designed to operate with a built-in clock
and that, with a clock chip installed, SOS
will automatically time stamp and date all
file saves.
When the Apple /// was first released, the
supplier of Apple's clock chips could not
supply a working clock. As a result, the ///
was supplied without a clock of any kind.
Now maybe you are wondering when you
list a disk directory, how the time and date
magically appears.
Not too long ago ON THREE developed a
clock for the Apple /// which plugs in right
where the never-released Apple clock was
supposed to go, and for just $49.95 plus
$3.00 shipping and handling, this easy to
install, SOS-compatible clock can be yours.
It comes with comprehensive instructions
and ON THREE'S limited six-month war-
ranty and does not use any of your precious
slots.
With an ON THREE O'clock installed, whenever you save or modify any type of file, the current
time and date will be added to the directory listing so you can always tell at a glance which file you last
worked on, and when. But that's not all. Business Basic has two reserved variables, DATE$ and
TIME$, which return, respectively, the current date and time to your BASIC program. These reserved
variables can then be used whenever you want to print the date and/or time in a BASIC
program.
Special Combination Offer
There's a great deal more you can do with ON THREE'S ON THREE O'clock if you also have our
Desktop Manager. Whenever you want, you can display the current date and time on the screen with
one keypress. Since this is a background function, you can be word processing with AppleWriter or
entering data into VisiCalc, and with one keystroke you can obtain updated time information. In addition,
you can use the Desktop Manager's Appointment Calendar to enter items you want to be reminded of
and, like magic, when the time comes, no matter what you are doing, a message will appear on your
screen to gently chide you via the Desktop Manager to make that phone call now, etc.
Now The Appointment Calendar is not the only feature of the Desktop Manager, you can read
about the Calculator, the Notepad, and the others elsewhere, but since the Desktop Manager requires
a clock, we want to offer you a money-saving deal. Purchased together, you can get the ON THREE
O'clock and the Desktop Manager for only $173.95 plus $8.00 shipping and handling. Now is the time
to take advantage of this special offer.
Desktop Manager/ON THREE O'Clock Combo
$1 73a V5 plus S8.00 shipping and handling
$49.95
plus $3.00
shipping and
handling
2S
April, 1386 ON THREE
Coping with Device Dependent Error #34
Taming Timing
dan martin
One afternoon, one of those days
when a blank, formatted diskette
was nowhere to be found, I booted up
the System Utihties diskette to take
care of some housekeeping. I popped
a new disk into Drive 2, selected the
"Device Handling Commands" op-
tion from the main menu and pre-
pared, as I had numerous times
before, to format a volume.
The rattle and clatter from Drive 2
followed and much to my surprise a
beep and diagnostic message appeared:
^'Device Dependent Error #34; See
Manufacturer's Documentation".
What manufacturer's documentation?
We all know the value of that advice
in the often shadowy world of Apple ///
support. I called the Apple technical
support number (still active at that
time) and was advised that my drive
was off-speed. My dealer told me
that $22 would take care of the
problem.
Being the type of person that
doesn't enjoy dependence on dealers
of any kind (for example, I change
my own oil and filter), I felt that an
adjustment of this nature might not
be too difficult a task to undertake. I
proceeded cautiously to disassemble
my, till now, trusty Number Two
drive to assess at least the magnitude
of the problem.
The procedure which follows should
permit any reader to effect a speed
adjustment with a mere fraction of
the disassembly that I originally
went through just to identify the
simple (and surprisingly accessible)
adjustment for speed control.
The things you'll need to accom-
plish this task are:
• A System Utilities disk
• A Phillips screwdriver
• A miniature jewler's-type
screwdriver (or virtually any
reasonable facsimile — I used my
Swiss Army knife)
• A flourescent light source
• A little patience and fortitude
The following procedure is only for
the external Disk /// drive produced
by Apple for the ///. My guess is that
the internal drive would naturally
involve a bit more disassembly and
that drives by other manufacturers
would be conceptually similar.
Step 1— Disassembly
Warning! Disassembly should be
done with all power to the Apple ///
turned off before you so much as pick
up a screwdriver.
Begin by disconnecting the ribbon
cable connector from the back of
the /// to permit easier handling of
the drive during disassembly. Place
the disk unit on its top (belly up) on a
flat working surface covered with
cardboard or paper if you're inclined
to be real careful about the finish.
Remove the four Phillips head screws
from the bottom (and put them in a
secure place). Next remove the
bottom cover of the disk drive housing.
Once that's done, you're ready for
Step 2.
Step 2— Set Up for Timing
Place the unit, still on its back,
near the /// in such a way that will
allow you to both connect the ribbon
cable to the rear apron connector on
the /// and also to have access to the
rear of the drive. Additionally, the
heart of the whole procedure is to
accomplish this work using only
flourescent lighting, either via over-
head units or a portable desk lamp,
since this light source is the primary
timing unit as you will see shortly. As
implied above, with the power to the
///still off, reconnect the ribbon cable
to the disk port on the back of the ///.
Once you have the drive positioned
and correctly reconnected, proceed
to the next step.
Step 3— Timing the Disk Drive
Making sure no conductive material
is touching any part of the disk drive
or interfering with the drive mech-
anism, reconnect power to the ///and
boot it using the System Utilities
disk. Now place a formatted diskette
(preferably one you'd be willing to
lose, just to be on the safe side) into
the external, upside-down disk drive.
Remember, if you're using single-
sided disks, to turn the diskette
upside down as well. Select the
device handling choice on the primary
System Utilities menu.
Before you proceed, you must
locate an important adjustment.
Viewing the disk unit on its back
from the rear, notice that the ribbon
cable leaves the unit on the lower
left-hand corner of the back as you're
looking at it. On the bottom right,
then, is the connector for additional
drives. Just above the serial number
of the unit and about an inch forward
of the metal back panel of the drive
housing is a small circuit board with
a little black connector in its upper
left-hand corner. On the opposite
side of the board (the right-hand
side) is an integrated circuit chip.
The next component to the imme-
diate right of the integrated circuit
chip is a long, narrow plastic device
witha brass screw head on its right
side less than one-half inch from the
right side of the metal housing.
That device is a potentiometer
(adjustable resistor) which controls
the speed of the disk drive motor.
We'll get back to it soon. Note: there
is no voltage between the brass ad-
justing screw and the metal case, so a
metal screwdriver is alright to use —
just don't touch the electronic com-
ponents. A plastic or wooden adjust-
ment tool (e.g., a filed plastic or
wooden toothpick) is safer to use.
ON THREE April. 1 9SB
29
Before you grab your little screw-
driver, let's review how you're going
to be able to tell whether the drive is
running off speed. On the top of the
unit (as you're looking at it) you'll
see a small wheel with a funny black
and white checkered pattern going
around the surface of the wheel. One
track of the pattern has a "60" in it;
the other has a *'50". These markings
refer to the frequency of the A.C.
power used to drive the computer.
Virtually all commercial power in
the U.S. is 60 Hertz (or cycles per
second). Here's where the flourescent
light comes in. Flourescent lights
send out light waves that 'beat' at 60
cycles per second, i.e., the tube sends
out light pulses 60 times every
second. These light waves interact,
or synchronize, with the funny pat-
tern on the wheel to produce an
image that will tell you when the
drive is running at the correct speed.
Once the drive starts spinning, you
will see a pattern that is reminiscent
of the 'wagon wheel' effect you used
to see on the stage coach in the old
cowboy movies when you could swear
the wheels were actually turning
backwards. That optical illusion was
caused by the interaction between
light from the spinning wheel spokes
and the movie camera shutter click-
ing away at about 24 frames per
second. Many fancy stereos incor-
porate this identical timing mecha-
nism for audiophiles with unhumanly
discriminating ears.
Now we're ready to time the drive.
Select the "Verify a Volume" function
under the "Device Handling Com-
mands" menu. All this does is read
your diskette to identify damaged
blocks on its magnetic medium.
Verify the medium of volume .D2 for
the first 280 blocks, just as the utility
offersby default. We don't really care
about the diskette, it's just that this
utility causes the drive motor to run
for a fairly long time.
ON THREE Presents. . .
I V My Apple ///
Spring T-shirt Bonanza!
• Bright t-shirt colors for sunny spring days
• yellow
• blue
•beige $1 I b^S pius$3s/h
• Maintain your bod like your ///
I V My ///Sweat Shirts
• yellow
• blue
• silver $ I Oa V5 plus $3 s/h
n sm D med D Ig D x-lg
• Cap it off with I V My /// Caps
$5aV5 plus $2 s/h
When you hit the last carriage
return, the drive will start to run.
Now watch the funny spoke-like
pattern on the wheel while the disk is
whirring. Remember to have a flour-
escent light as the dominant light
source for this step or it won't work.
The image produced by the spinning
checkered pattern (on the outer track
of the pattern) will seem to be slowly
moving either clockwise or counter-
clockwise, depending on whether the
drive is running fast or slow. The
procedure for timing the drive is to
adjust the brass screw on the poten-
tiometer of the circuit board until the
wheel-spoke pattern no longer moves
in either clock direction, but appears
to remain stationary.
The direction of apparent pattern
motion will be the same direction
that you adjust the brass screw head.
If the pattern seems to be running
counter-clockwise, turn the adjusting
screw counter-clockwise also to offset
the motion. Reverse the adjustment
if the pattern motion is clockwise.
This process will probably require
execution of the verify disk function
a number of times — ^just hit a few
carriage returns to run it again. Once
the pattern appears stationary, you're
done with timing.
Step 4— Reassembly
Turn off the power to the ///.
Replace the plastic cover and re-
insert the four Phillips head screws
that you can find if you followed my
earlier instructions. Don't tighten
them down too hard. You don't want
to strip the threads on the drive
unit. This is a disk drive, not an oil
drain plug.
Step 5— Gratification
Now go out and buy your spouse a
gift with the $22 you saved. She may
yet get to like that computer that
chews up all your time. Happy
formatting.
Editors note: If a flourescent light
source is not available, you may be able
to adjust your drives in emulation mode.
There are several programs for the Apple
][ which display drive speed to the
screen. [771
30
April. 1 9S6 ON THREE
For April:
New Products
For unfathomable reasons new microprocessors or
upgrades to them seem to appear on the market shortly
after the Spring equinox. This year is no exception as
Eastern Design Labs has announced the 65F002, an
enhancement to the 65C02 with which it is downwards
compatible. It is said to operate without timing or other
problems in the Apple I, ][, ///, IV and Commodore Pet.
Included are six new branch instructions, seven load
and store instructions, four stack instructions, five logic
instructions, seven miscellaneous instructions, one aug-
mented addressing mode, and one new addressing mode.
They are detailed below.
Branch Instructions
BNV Branch Never
BRP Branch Reset Pressed
BSC Branch on System Crash
BST Branch SomeTimes
DCG Detour on Carry Clear
DCS Detour on Carry Set
Load/Store Instructions
LNB Load Next Byte
LAS Load A fronn mem and Store back
LXS Load X from mem and Store back
LYS Load Y from mem and Store back
SAL Store A in mem and Load back
SXL Store X in mem and Load back
SYL Store Y in mem and Load back
Stack Instructions
PHS Push Stack
PLS PulL Stack
TPS Transfer Status (P-reg) to Stack
TSP Transfer Stack pointer to Status
Logic Instructions
LSC Logic Shift Center (see figure 1)
ALA ALso mem with A
MYA MaYbe mem with A
ROD Rotate Down
ROU Rotate Up
XAM exclusive And Mem with A
Miscellaneous Instructions
EMF Emulate MainFrame
IRD Interrupt Request Denied
LWA Leave Well enough Alone
MNM Mask Non-Maskable interrupt
RBR Reset Bits Randomly
SBR Set Bits Randomly
WNI Wait for Next Instruction to execute
Addressing Modes
The immediate mode may now be used with all store
instructions. Assembler syntax is shown below.
STA #$7F
The new addressing mode is known as Indirect Indirect.
Assembler syntax is as follows:
LDA ($0B),5
The accumulator will be loaded from the location pointed
to by $OB,OC plus 5 or other value specified. /TTJ
^^ ,.,.eveasV^^
oHv'-^.^e-^^^
c
,\\Ae
^a^
lo\
Co^P^'
evev.
,\det^^^
Oa^a^
aV.
ase"
\x^^^'
,d\a^^
s\^\P'
c^^:!!^.
Q«e!f--«»
©1986
Officeware DataSyst(
ON THREE April. 1 9BB
31
Ca// Three: Hot Line/Apple/// User Groups
If you would like to get together with other Apple /// owners and exchange ideas, a user group is
for you. Below is a listing of all Apple /// user groups known to us. If you have recently fornned a
group or know of one we have not listed here, please contact ON THREE and let us know so that they
may be included. There is no charge for this sen/ice.
California
Sacramento Apple /// User Group
1433 Elsdon Circle, Carmichael.CA 95608
(916)482-6660
Orange County Apple /// User Group
22501 Eloise Ave.. El Toro. CA 92630
(714)951-1231
Los Angeles-South Bay
Apple /// Users Group
P.O. Box432.Redondo Beach, CA 90277
(213)316-7738
Apple /// Users of Northern California
220 Redwood Highway *184
Mill Valley, CA 94941
International Apple Core Apple /// S.I.G.
908 George Street, Santa Clara, CA95054
(408) 727-7652
Canada
Apples British Columbia Computer Society
Apple /// S.I.G.
P.O. Box 80569, Burnaby
BC Canada V5H3X9
Canadian Apple /// Users Group
80 Antibes Dr. Suite 2805
Willowdale, Ontario, Canada M25R 3N5
(416)665-3622
Colorado
Colorado Apple Three User Group
P.O. Box 3155, Englewood, CO 801 12
Connecticut
Apple /// Society of
Southern Connecticut
34 Burr School Rd., Westport, CT 06880
(203)226-4198
Florida
Sarasota Apple /// User Group
c/o Connputer Centre
909 S. Tanniami Trail
Nokonnis, FL 33555
(813)484-0421
Georgia
Atlanta /// Society
385 Saddle Lake Drive, Roswell, GA30076
(404)992-3130
Kansas
Kansas City Apple /// User Group
3800 Can^bridge, Kansas City, KS 66 1 03
(913)588-6025
Maine
So. Maine Apple Users Group
Casco St., Freeport ME 04033
(207) 865-4761, X 2249
Maryland
Apple /// SIG Chairman
Washington Apple Pi
8227 Woodnnont Av. #201
Bethesda, MD 20814
(301)654-8060
Minnesota
Minnesota Apple Corp Users Group
P.O. Box 796. Hopkins, MN 55343
New Jersey
North Jersey Apple /// Users Group
c/o Roger T. Richardson
P.O. Box 251. Allannuchy, NJ 07820
(201)852-7710
North Carolina
North Carolina Apple /// User Group
2609 North Duke St. '^ 103
Durhann, NC 27704
Ohio
Cincinnati Apple /// User Group
5242 Horizonvue Drive,
Cincinnati, OH 45239
(513)542-7146
Apple Dayton - Apple /// S.I.G.
P.O. Box 1 666, Fairbom, OH 45324-7666
(513)879-5895
Oregon
Portland Apple ./// Users Group
Portland OR (503)225-1623
Overseas
Apple /// Owners <S Users
Group International
c/o Maj. H. Joseph Dobrowlski
AF SOUTH/JLD Box 149
FPO New York 09524
Apple User Group Europe e. V.
Box 11 01 69D-4200
Oberhausen 1 1
West Germany
0049-6195-7
3917
British Apple Systems User Group (BASUG)
Apple /// S.I.G.
P.O. Box 174, Watford Herts
England WD2 6NF
0727 73390/72728
Le Club Apple
43 Avenue de la Grande- Armee
751 16 Paris. France
Texas
Apple Corps of Dallas Apple /// SIG
P.O. Box 5537, Richardson, TX 75080
River City Apple Corps ///S.I.G.
Box 13349, Austin. TX 78711
(512)454-9962
Houston Area Apple Users
Group (Apple /// Division)
P.O. Box 610150, Houston, TX 77063
(713) 480-5690 or 974-5153
Virginia
Charlottsville Apple /// User Group
216 Turkey Ridge Road
Charlottsville, VA 22901
(804) 642-5655
Greater Tidewater
Apple /// User Group
Route 2, Box 216. Hayes. VA 23072
(804) 642-5655 or 898-3500. ext. 2671
The Call Three: Hot Line is a service
whereby Apple /// users with problems can
call an area nunnber to get assistance. The
individuals answering the phones are fellow
Apple /// users who have volunteered to help
others over sonne of the rough spots. They are
not connpensated for this service, therefore
we owe then a resounding "three cheers."
We would like to expand this service even
further, so if you are familiar enough with your
machine to be able to aid others and answer
questions, please write us, stating your areas
of expertise and availability in terms of days
and hours. Certainly you can bask in the
knowledge that you have been able to help a
fellow Apple /// user.
For those of you who have questions, feel
free to call our consultants listed below.
Please observe however, the calling hours
shown and before placing a call, double check
the time zone so that you don't inadvertantly
wake someone upl There are no other restric-
tions on using the sen/ice other than as stated
above. Again, please remember these people
are volunteers, and if we receive information
indicating that calling hours are not being
observed, we will have no choice but to
remove the consultant from the listing or,
worse, discontinue the service.
The following is an alphabetical listing of
subjects and abbreviations used in the
"subjects" column of the consultants listing.
Subject code
subject code
Accounting
Agriculture
Assennbly
Lang.
Business
Basic
Catalyst
Cobol
CP/M
Data Base
Education
Financial
Fortran
General
AC
AG
AL
BB
CT
CO
CP
DB
ED
Fl
FO
GE
Graphics
Micro-Sci
Modenns
Modula-2
Pascal
ProFile
Quark
SOS
Spread-
sheets
Teleconn.
Word Proc.
Ennulation
/// E-Z
Pieces
GR
Ml
MD
MU
PA
PR
QU
SO
SS
TC
WP
AE
EP
Name
Coville Woodburn
Ken Johnson
Don Loosli
Richard F. Malley
Harry T. Hanson, Ph.D.
Edward N. Gooding, Sr.
Al Johnson
Paul Sanchez
R.B. Thonnpson
J. Donald Glenn
Jinn Ferencak
Neil Quellhorst
Terri Wiles
Pat Holwagner
Vincent F. Latona
Wayne Hale
Dennis R. Cohen
Kelly C. McGrew
State
NH
MA
Ml
CT
NJ
VA
FL
FL
NC
NE
IL
IL
CO
CA
CA
CA
CA
WA
Telephone
(603) 863-5590
(413)253-2298
(313)626-3848
(203) 232-9505
(201)467-0712
(804) 747-8751
(904)739-1042
(305) 266-5965
(919)787-1703
(402)291-9177
(312)599-7505
(217)434-8727
(303) 850-7472
(415)433-2323
(818)703-0330
(619)450-3856
(818) 956-8559
(206) 943-8533
Days
M.Tu.Th.F
Su-Sa
M-F
M.Tu.W.F
M-F
Su-Sa
M-F
Su-Sa
Su-Sa
Su-Th
M-F
Su-Sa
Su-Sa
M-F
M-F
M-F
Su,
M-F,
Sa
Su-M. Th-Sa
Hours
7-8pnn
6-9pm
9ann-5pnn
6-9pnn
6-9pnn
6-9pm
9ann-6pnn
10ann-4pnn
lOann-lOpnn
7- 10am
10ann-5pnn
7-9pm
10ann-6pnn
1 0ann-6pm
9ann-5pnn
7-llann
lOann-lOpnn
7-9pnn
1 2n-6pnn
7-9pnn
Zone
Eastern
Eastern
Eastern
Eastern
Eastern
Eastern
Eastern
Eastern
Eastern
Central
Central
Central
Mountain
Pacific
Pacific
Pacific
Pacific
Pacific
CT,
BB.
GE.
GE.
GE.
CO.
GE
SS.
BB.
GE
GE.
AL.
PA
GE.
GE.
BB.
GE.
Subjects
QU
PA. MD. WP. Ml
WP. SS. DB
SO. WP. SS. QU. CT. PR
PA BB. CT
SS. PR. MD. CT
PR. CT
DB. GE. SS. WP
EP. DB
BB. GR. PA SO. TC
SS. WP. CT. DB. SU. AE. EP
WP. BB. SS. AE
GR. CT
PA. MU, WP, DB, SO
DB. GR. SS. PR. MD. CT
32
April. 19BB ON THRE
ON THREE'S Desktop Manager
gives you a choice:
The Desktop Manager places all of the utilities you ever wanted . . .
Appointment Calendar. . .Notepad. . .Calculator. . .Disk Utilities
. . .and more. . . Intoeveryslngleprogramyouownjustllkethey
were part of It. Instantly available from /// E-I Pieces, VIslCalc,
AppleWrlter, BPI, and all other programs, the Desktop Manager
will clear your desk pronto.
While word processing, have you ever needed
to multiply two numbers? Gotten upset because
you have a few thousand dollars worth of computer
equipment at your fingertips and still can't multiply
two figures when you want to? Or, you're entering
data in a spreadsheet and can't find either a
scratchpad or a pen to jot a note. While you're
digging under piles of paperwork, you probably
mutter something unprintable under your breath.
Perhaps you are word processing and need to
save a file, but aren't sure if the file name you want
to save to exists. Too bad the program you're using
won't catalog a disk. Similarly, you may need to
save a file and discover there is no room left on
your current work disk. You have blank disks, but
none are formatted, and if you leave the word
processor to format a disk with the System Utilities,
all of your work will be lost.
Do you see yourself in this picture? How would
you like to clear your desk of that old-fashioned
calculator, the pens and paper, your appointment
calendar and increase your productivity? ON THREE'S
Desktop Manager to the rescue! It will do these
things and more. From within any Apple ///
program, a keystroke will suspend your current
program and display a window into the Desktop
Manager. You can stop whatever you are doing,
instantly go to the Desktop Manager and select any
of the following:
• An Appointment Calendar. Enter appointment times or other activities at specific times, like "Call
Johnson at 10:30 AM," or "5:00 PM Stop at supermarket. Pick up milk." At 10:30 AM that day a window will
appear on your screen and display the first message and at 5:00 PM the second message will
appear.
• A full feature Calculator (SIN, COS, TAN, EXP, LOG, LN, memory, base conversions and more). Change
from decimal to hex to binary and back. A scrolling paper tape will show your last calculations.
• An easy to use, always there Notepad with full editing capability and jam-packed with features. You can jot
page after page of notes to yourself and even print them out. You may never need to use a word processor
again!
• An optional Disk Utilities module. Use it to Format Disks, List, Unlock, Delete, Rename and Copy Files.
Most of the features of the System Utilities, available in a second instead of a minute.
• An optional ASCII Conversion Table which lists, in an easy to understand form, decimal and hexadecimal
values for all the ASCII characters. Useful to determine special character sequences to send to your printer,
or for programming.
"before''
**after''
Low Prices!
Desfctop Manager. . . . .$129 -f $6 sfif|ifiifif
Disk Utilities I44.9i -^ $B shtpplng
ASCII Cdfu/erslon Talile.lf.l^ 4* $3 i^lpplr^
After noting a forthcoming meeting on the Appointment Calendar, totaling some
figures you are working on, making a note to yourself about your upcoming vacation, or
copying the files your boss needs, simply press ESCAPE and you are instantly back in your
original program and nothing has changed from when you left it a moment ago. Even the
cursor is blinking at the same place and you have saved loads of time.
The Desktop Manager also lets you use the mouse instead of cursor keys in any
program. When you move the mouse around the screen, the cursor will follow, left, right,
up and down. Clicking it also acts as an ESCAPE or RETURN key. You can even set up the
Desktop Manager so that when you press the button, the Desktop Manager window will
appear on the screen.
The Desktop Manager also has a clipboard, so you can transfer text from one screen or
application to another. You may be doing calculations and want to transfer the results
from the Calculator to a word processor. All you do is cut from the calculator and paste to
the word processor file. Likewise, you can move an entire section of text from any file to
the notepad or vice-versa.
The Desktop Manager v^diS designed to be expandable. Here are some of the modules
we will offer in the near future:
• Communications Package • Graphics Charting
• Spelling Checker (for /// E-Z Pieces) • Keyboard Macros
Note: The Desktop Manager requires 256K memory (512 recommended, since it uses about 40K), an ON THREE OUock, Apple Clock or compatible Apple /// clock
chip.
Note: Clipboard text can not be transferred to Word Juggler documents, as Word Juggler does not use the .CONSOLE driver for reading the keyboard. However, it is possible to transfer
text from Word Juggler to the clipboard.
Please call or write for information on the Desktop Manager Programmers Toolkit. This package lets you write modules for the Desktop Manager. Full instructions and examples
include our routines to put a folder on the screen and move it, our line input routine, the time and date routine and full Desktop Manager internal documentation.
BULK RATE
U.S. POSTAGE
PAID
Permit No. 90
Ventura, CA
ON THREE Presents . . .
Draw ON III is a powerful and versatile graphics tool desigr^ed exclusively
for the Apple III and the Apple III Plus computers. Draw ON III transforms
your Apple III into a combination drafting table, easel and sketch pod,
Draw ON works in all of the Apple Ill's Color and Black/White graphics
modes and brings the power of MacPaint to your ///,
Features such as rubber banding of lines, user adjustable grids, built-in
help screens and easy to follow menus make Draw ON III the ONLY
graphics package for the Apple III that is both powerful and easy to use,
Combined with on excellent {Apple styling) instruction and tutorial
manual, you can be doing useful work in less than on hour. The only limit
OS to what you can do with Draw ON is your imagination.
Draw ON gives on individual the power of a graphic arts studio. Use it in
creating charts, preparation of slides and tables for presentation, and let-
terhead design. With Draw ON you con moke changes to the dull graphs
tF
Draw ON /// Has Hastery Over^^|
Illusions!!
rr'7'7TTTT'7'7'7'W
.-Hijl7i7i7i7J7JTiT
Vhat would you like your Drau Dfi! /// to do? Prof ess ional-c(uality diagrais,
organization charts, floorplans, coiplex illustrations and original artwork
are all possible! You can now do CfJD on your Apple /// with Drau [K /// !
and texture them. You can also zoom in on a particular portion of the
screen to do detailed work.
To control Draw ON either a joystick, mouse or the keyboard is used. Since
there ore no mice available for the Apple III, ON THREE has enabled
Draw ON to use the Apple lie mouse and interface card. If you would like
the ease of use that the mouse provides, purchase on Apple lie mouse
and follow our instructions for installing it \nyoui Apple III Draw ON is so ver-
satile, it will work directly with the Apple lie mouse, no modifications ore
needed for using it in the Apple lll\ We also support the Apple II Graphics
Tablet with Draw ON III
After creating your chart, table or other piece of art you will probably wont
to print it out. If you have on Apple DMP (or C. Itoh Prowriter, Imagewriter
or Epson (MX, RX, or FX) printer. Draw ON con print out your drawings
directly. For those of you who don't have these more popular printers. Draw
ON also works with all of the printers the PKASO and PKASO/U interface
cord support. This includes Centronics, Epson, NEC, Okidata, the IDS
Prism and IDS Color Prism. To print out color drawings you will need the
IDS Color Prism printer and the PKASO interface cord.
that your other programs create by adding borders, textures and different
typefaces. Even Computer Aided Design (CAD) applications such as cir-
cuit layouts, drafting and flowcharting ore now possible on your Apple III
with Draw ON III
Draw ON combines powerful cut and paste facilities with the ability to mix
text (in a variety of sizes and styles) with your drawings. If you don't like any
of the text fonts or objects that come with Draw ON you con design your
own! You con label your drawings with these fonts or even use them in your
other programs. You con pick up objects and expand, shrink, rotate, invert
100-
M J
Month
( =U.S. S^ =Forei9n>
Optional Equipment
Cursor III Joystick, Apple Mouse lie or Apple II Graphics Tablet (Graphics
Tablet version costs $50 extra) RGB Color Monitor, Dot Matrix Printer
A PKASO or PKASOIU interface card is needed if you don't hove an
Apple DMP (or C. Itoh Prowriter), Imagewriter or Epson {MX, RX or FX)
printer. You must specify the printer and interface card you are using
before ordering.
Draw ON requires on Apple III or Apple III Plus with a minimum of 256K
and IS available for only $179 + $5 for shipping and
handling. Draw ON III is not copy-protected and may be installed under
Selector III and Catalyst